我是 Rails 新手,正在努力解决似乎是路由错误。
我有一个 Site 对象,其中包含有关网站以及如何抓取它的信息。我想测试我的代码与站点的连接。在我的应用程序中单击“测试站点”会产生错误:
Couldn't find Site without an ID app/controllers/sites_controller.rb:86:in `test_site'
路线.rb:
...
post "/test_site" => "sites#test_site"
get "home/index"
resources :sites, :logins
...
index.html.erb
...
<% @sites.each do |site| %>
<tr>
<td>
<%= form_tag test_site_path(site) do -%>
<div><%= submit_tag 'Test site' %></div>
<% end -%>
...
站点控制器.rb
...
def test_site
@site = Site.find(params[:id])
...
看起来站点控制器没有从 test_site_path(site) 获取站点:id。我不确定如何设置路线并正确传递 ID。
谢谢!
编辑:我尝试将此代码添加到我的 routes.rb 中:
resources :sites do
get "/test_site", :action => "test_site", :on => :member
end
我收到此错误:
No route matches {:controller=>"sites", :action=>"test_site", :format=>#<Site id: 11, ...
我可能做错了什么?