2015-09-03 110 views
4

導軌中的腳手架生成器根據您項目中位於lib/rails/generators/erb/scaffold/templates railties路徑和lib/templates文件夾中的模板生成MVC圖層。替代導軌腳手架發電機

如果您將原始文件從railties文件夾複製到您的項目庫文件夾,那麼您將能夠自定義原始scaffold生成器,正如Daniel Fone在他的blog中解釋的那樣。

原來的Rails發生器使用在視圖層5個文件:

  • _form.html.erb
  • edit.html.erb
  • index.html.erb
  • new.html.erb
  • show.html.erb

我想知道是否有辦法通過向該集合中添加另一個文件來擴展此行爲。像_header.html.erb_info.html.erb(我設計的一些偏差)。

回答

9

好幾個月後,我找到了解決方案。 Rails documentation指出,不是創建一個新的生成器,而是覆蓋默認生成器,但在我的項目lib文件夾中。

enter image description here

原始scaffold_generator.rb位於~/.rvm/gems/ruby-2.1.0/gems/railties-4.2.4/lib/rails/generators/erb/scaffold。要添加新文件(_info.html.erb),我們將其添加到available_views方法中。

def available_views 
    %w(index edit show new _form _info) 
end 

希望它可以幫助別人。

+0

嘗試這與Rails 5,但缺少模板(使用苗條)... –

+0

嗯..以及我沒有機會與'苗條'使用此...我甚至不知道如果苗條是目前完全兼容Rails 5 ......但我確定那些模板(位於'rails/generators/erb/scaffold')不適合渺茫,所以你要尋找的模板應該是渺茫的寶石,不在軌道寶石。請查看該文件夾中的方法,如'avaiable_views'或'index edit..'字符串,我相信它不應該很難找到。讓我知道事情的後續 ;) – mariowise