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 回答