Ruby on rails 没有与资源Rails中的成员匹配的路由

Ruby on rails 没有与资源Rails中的成员匹配的路由,ruby-on-rails,forms,Ruby On Rails,Forms,我有以下路线: resources :sources do member do get 'parse' end end 以及以下控制器: class SourcesController < ApplicationController before_filter :authenticate_admin! def index @sources = Source.all end def parse end end 此外,在我的rake路线中

我有以下路线:

resources :sources do
    member do
      get 'parse'
    end
  end
以及以下控制器:

class SourcesController < ApplicationController
 before_filter :authenticate_admin!

 def index
   @sources = Source.all
 end

 def parse
 end
end
此外,在我的rake路线中,我可以看到:

parse_source GET/sources/:id/parse(:format)sources#parse


为什么呢?我的操作没有定义吗?

对[:parse,source]使用
表单

问题是您没有将
本身添加到URL,因此没有路由所需的
id
。您需要使用
url:{action:'parse',id:source.id}
,但是
[:parse,source]
表单更清晰、更短

表单_代表源,url:parse _source _url(source.id)do | f|


您也可以使用上述方法解决此问题

感谢您的快速回复。如果这样做,我会得到这样的结果:
未定义Symbol:Class的方法'model\u name'。为什么我不能为[source,:parse]做表单?。这是
[:parse,source]
.meagar,这方面的文档在哪里?我正在看,但这并不能解释这一点。
<% @sources.each do |source| %>
  <tr>
    <td><%= source.name %></td>
    <td><%= source.url %></td>
    <td>
      <%= form_for source, url: {action: 'parse'} do |f| %>
        <%= f.submit "Parse this source" %>
      <% end %>
    </td>
  </tr>


<% end %>
 Failure/Error: visit "/sources"
     ActionView::Template::Error:
       No route matches {:action=>"parse", :controller=>"sources"}