Rotaie che utilizzano route denominate all'interno dell'helper (ma con metodi di classe)

StackOverflow https://stackoverflow.com/questions/840825

  •  20-08-2019
  •  | 
  •  

Domanda

Prova di usare questo metodo ( usa self.method_name in FunnyHelper , quindi chiamalo come FunnyHelper.method_name nella vista).

Tuttavia, ciò causa almeno un paio di problemi: visualizza metodi come h () e le rotte con nome vengono rotte (sono ok con il metodo del modulo def nome_ metodo ma non all'interno di alcun metodo di classe def self.method_name ) .

Ovviamente posso evitarlo rilasciando def self.method_name su def method_name ; qualcuno con qualche suggerimento su come posso avere la mia torta e mangiarla anche io?

È stato utile?

Soluzione

Se veramente vuoi farlo, puoi usare

include ActionController::UrlWriter

per ottenere l'accesso ai percorsi con nome e

# h is a private method 
ActionController::Base.helpers.send :h, "<"

per altri helper di visualizzazione. Ma non lo consiglierei. A mio avviso, il modello di progettazione che Thoughtobt sta suggerendo qui fa schifo e vorrei solo usare helper: blog nonostante la loro lamentela che non sia esplicito. Questo è vero, una specie di ... ma Rails in generale e questa parte di Rails in particolare è progettata in modo completamente "non esplicito". In questo modo, cercare di combattere contro questo sarà più un problema di quanto valga la pena, come stai scoprendo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top