0

Railsに問題があり、次のエラーが発生します。

No route matches {:action=>"publish", :controller=>"businesses"}

問題のあるコード:

<div id="searchDatesDiv" style="margin: 0 auto;">
  <%= form_tag(publish_business_path, :method => :post) do %>
    <%= submit_tag("Publish") %>
  <% end %>
</div>

ルート.rb:

resources :businesses do
  member do
    post 'publish'
  end
end

レーキルート:

    registration     GET    /registrations/:id(.:format)         registrations#show
    publish_business POST   /businesses/:id/publish(.:format)    businesses#publish
          businesses GET    /businesses(.:format)                businesses#index
                     POST   /businesses(.:format)                businesses#create

レーキルートで定義されたパスを見ることができます。なぜこのエラーが発生するのですか?フォームはPOSTメソッドでもあります。どんな助けでも素晴らしいでしょう!SOで同様の質問を調べてみましたが、私の場合に機能する質問は見つかりませんでした:(。

4

1 に答える 1

0

ビジネス公開パスには、指定していないidパラメーターが必要です。したがって、ビジネスオブジェクトをパスヘルパーに渡します。

<%= form_tag(publish_business_path(@business), :method => :post) do %>
于 2012-07-30T21:44:03.693 に答える