Scaffold templates in Rails Engine

Ciao a tutti,
Ho creato una Rails engine per metterci un po’ di codice, tra cui delle
viste personalizzate per lo scaffold (per intenderci quelle che in una
app Rails vanno in lib/templates/haml/scaffold/), che poi riutilizzo in
varie app.
Tuttavia non trovo il modo di fare caricare quelle viste custom alla app
che include la mia engine Sancho: continua ad utilizzare quelle di
default.

Ecco il contenuto di lib/sancho/engine.rb:
module Sancho
class Engine < ::Rails::Engine
isolate_namespace Sancho

initializer :add_generator_templates do
  config.generators.templates.unshift(File::expand_path('../templates', 

FILE))
end
end
end

Sono stato chiaro?
Qualche idea?

Grazie mille, as usual,

iwan

Ti serve un generatore:

http://guides.rubyonrails.org/generators.html

Seguendo quella guida non avrai problemi, in più ti aggiungo qualche
indicazione su come ho creato il mio.
Ho creato una classe ScaffoldGenerator ma con i miei puntamenti:
controller e template

#lib/rails/sancho/sancho_generator.rb
module Rails
module Generators
class SanchoGenerator < ::Rails::Generators::ScaffoldGenerator

  remove_hook_for :scaffold_controller
  hook_for :sancho_controller, :required => true

end

end
end

#lib/rails/sancho_controller/sancho_controller_generator.rb
module Rails
module Generators
class SanchoControllerGenerator <
::Rails::Generators::ScaffoldControllerGenerator
# customize
end
end
end

#lib/erb/sancho/sancho_generator.rb
module Erb
module Generators
class SanchoGenerator < ::Erb::Generators::ScaffoldGenerator
# customize
end
end
end

Prima di poter utilizzare un nuovo generatore devi definirlo nella tua
applicazione

#config/application.rb
module YourApp
class Application < Rails::Application
config.generators do |g|
g.sancho_controller :sancho_controller
end

...

end
end

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs