0

次のルーティングがあります。

resources :pages do
    resources :logos do
      member do
        post 'vote'
      end
    end
  end

次に、/pages/:page_id/logos でレンダリングされるビューを次のように表示します。

  <ul>
  <% @logos.each do |logo| %>
    <li>
      <%= image_tag(logo.url) %>
      <%= form_for([logo.page, logo], url: {action: "vote"}, :method => :post) do |f| %>
      <% end %>
    </li>
  <% end %>
  </ul>

そして、私はこのエラーを受け取り続けます:

No route matches {:action=>"vote", :page_id=>"95", :controller=>"logos"}

ここで何が欠けていますか?

4

1 に答える 1

0

試す

form_for [logos.page, logo, :vote], method: :post

または、アクションが配列の最初に来る可能性があります

[:vote, logo.page, logo]

もう一度調べる必要がないことをお許しください。

于 2013-10-25T18:06:19.327 に答える