Personalizzazione scaffold_generator.rb rails 4

Ciao a tutti,
dovrei creare in fase di scaffold una vista in più.

Riesco a farlo tranquillamente aggiungendo una voce in più al metodo
available_views nel file scaffold_generator.rb della cartella railties.

Sapete se c’è la possibilità di fare un override del file, mettendolo
magari nella lib/templates del progetto, senza toccare il file nella
railties?

Grazie Mauro

Telegraficamente, butta tutto in lib:

lib/
templates/
haml/ o erb…
scaffold
_form.html.haml
edit.html.haml

rails/
scaffold_controller/
controller.rb

Tutto chiaro?

:wink:

ciao

iwan

Il giorno 5 febbraio 2015 15:57, Mauro L. [email protected] ha
scritto:

Ciao Iwan,
grazie mille per la risposta.

Sullo scaffold del controller.rb, model.rb e relative viste standard
riesco tranquillamente.
Il mio problema è che il metodo available_views del file
scaffold_generator.rb genera solamente le quattro viste canoniche
(index, edit, show, _form) e vorrei aggiungerne una senza modificare il
file e facendo un ovverride del file (o altro meotodo che non conosco)

Grazie
Mauro

Ciao,

hai provato qualcosa del genere?

in pratica viene creato un template engine custom che eredita da quello
di rails (ovviamente controlla che i moduli e le classi siano gli stessi
della versione di rails che stai usando) e lo si setta in application.rb
come template engine da usare:

config/application.rb

config.generators do |g|

g.template_engine :custom

end

L’esempio nel post è molto più complesso, nel tuo caso credo che
dovresti semplicemente cambiare il metodo available_views con qualcosa
del genere:

def available_views

super << ‘custom_view’

end

A presto

Alberto V.

On Fri, Feb 6, 2015 at 10:51 AM, Mauro L. [email protected]