我有奇怪的問題:未定義的局部變量或方法`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