0

という名前のモデルがFaqあり、Rails が から生成された動的パスに苦労しているようresources :faqです。

出したものはこちらrake routes

   admin_faq_index GET    /admin/faq(.:format)                                   admin/faq#index
                   POST   /admin/faq(.:format)                                   admin/faq#create
     new_admin_faq GET    /admin/faq/new(.:format)                               admin/faq#new
    edit_admin_faq GET    /admin/faq/:id/edit(.:format)                          admin/faq#edit
         admin_faq GET    /admin/faq/:id(.:format)                               admin/faq#show
                   PUT    /admin/faq/:id(.:format)                               admin/faq#update
                   DELETE /admin/faq/:id(.:format)                               admin/faq#destroy

問題は、次のform_forように使用する場合です。

<%= form_for([:admin, @faq]) do |f| %>

次のエラーが表示されます。

undefined method `admin_faqs_path' for #<#<Class:0x007fdda4627a58>:0x007fdda41a5098>
4

3 に答える 3

1

routes.rb を次のように変更してみてください

resources :faqs

次に、@faq が nil でないことを確認します。

フォームを使用しているという事実に基づいて、FAQ は単一のリソースではないと推測します。

于 2013-07-02T07:26:26.110 に答える
0

例外を追加するだけですconfig/initializers/inflector.rb

このように

ActiveSupport::Inflector.inflections do |inflect|
  inflect.uncountable %w(faq)
end

Rails の複数形とインフレクターの規則に例外を追加します。

于 2013-07-02T07:28:07.423 に答える