我想生成一个脚手架控制器,视图和帮助器命名为没有pluraled one,但是奇异的。但是,我得到了如下所示的命名文件。我知道它们基于rails约定,但我只想创建一个字典页面。
$ rails generate scaffold_controller dictionary
create app/controllers/dictionaries_controller.rb
invoke erb
create app/views/dictionaries
create app/views/dictionaries/index.html.erb
create app/views/dictionaries/edit.html.erb
create app/views/dictionaries/show.html.erb
create app/views/dictionaries/new.html.erb
create app/views/dictionaries/_form.html.erb
invoke helper
create app/helpers/dictionaries_helper.rb
所以,我的问题是"有没有更好的方法或最短的方法来通过命令生成一个单一的命名控制器/视图/帮助文件?"
我想要的只是下面。我想知道我是否应该手动制作文件?
app/controllers/dictionary_controller.rb
app/views/dictionary/index.html.erb
app/helpers/dictionary_helper.rb
答案 0 :(得分:3)
有一条铁路可以执行此操作,您可以使用inflections
来记录此类例外情况:
<强>配置/初始化/是inflections.rb 强>
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable "dictionary"
end
答案 1 :(得分:1)
在没有搞乱任何东西的情况下,您可以使用resource
代替resources
more about that here来设置路线
您仍将使用多个控制器名称(如果您需要处理),但URL将是单数,并且您将不会执行复数resources
之类的所有操作(更多关于链接中的操作) ),如果您只想要一个页面,那么使用only: :show
resource :dictionary, only: :show
然后你甚至不需要控制器,只需创建文件dictionaries/show.html.haml
(或erb)它就可以了
http://example.com/dictionary