我想覆盖我的 Rails 4 应用程序的默认脚手架 View 。我已经从 railties 复制了所有 erb 脚手架文件,并将它们放在我的应用程序/lib/templates/erb/scaffold 下的以下文件夹中。
我修改了 new.erb.html 文件,以便我可以判断是否使用 lib/templates erb 文件而不是默认的 railties 文件来生成 View 。
运行命令后:
rails g scaffold Customer code:string name:string
并重新加载新的客户页面,它不会选择我的自定义脚手架文件来生成新的客户 View 。
我是否需要在应用程序中设置其他内容以告诉它查看脚手架模板文件的 lib/templates 文件夹?
- Rails 版本是:Rails 4.1.4
- 操作系统版本为:Ubuntu 14.04 LTS
- Ruby 版本为:ruby 2.1.2p95(2014-05-08 修订版 45877)[x86_64-linux]
干杯, 利。
最佳答案
我遇到了同样的问题,除了无论我销毁或生成我的脚手架实体多少次,我的更改都不会显示出来。为了修复它,我将以下 defaults 添加到我的 config/application.rb
文件中(请参阅 Ruby on Rails 指南中的 Customizing Your Workflow):
...
class Application < Rails::Application
...
config.generators do |g|
g.orm :active_record
g.template_engine :erb
g.test_framework :test_unit, fixture: true
end
end
...
关于ruby-on-rails - 覆盖 rails 中的默认脚手架 View 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25224607/