我有奇怪的问题:未定义的局部变量或方法`new_media_path” - 资源到资源
启动服务器后,我得到这个错误:
undefined local variable or method `new_media_path'
要修复此我必须去routes.rb中和改变
resources :media
到
resource :media
并再次
resources :media
这很烦人。任何想法来解决这个问题?
我有奇怪的问题:未定义的局部变量或方法`new_media_path” - 资源到资源
启动服务器后,我得到这个错误:
undefined local variable or method `new_media_path'
要修复此我必须去routes.rb中和改变
resources :media
到
resource :media
并再次
resources :media
这很烦人。任何想法来解决这个问题?
你应该尝试new_medium_path
因为media
是medium
复数形式,如果你运行rake routes
,你会看到所有可用路由。
您还可以使用Inflector类通知栏目有关正确的复数化。它处理大多数作品都很好,但像“媒体”这样的非标准复数并不总是预先定义好的。要添加自己的,编辑配置/初始化/是inflections.rb,并在最后补充一点:
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'medium', 'media'
end
这应该让Rails的处理所有的复数/奇异的东西 - 注意,这会影响它认为DB表名称将是一样,所以它会希望该模型是类中,和表名会媒体
要打开的单数和复数,以同样的事情(即总是“媒体” ),使用:
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable 'media'
end
..或将路线更改为资源:媒体。不适当的英语,但它会给你“媒体”作为单身,如果你喜欢 – Shaun 2012-03-24 14:40:13