我正在寻找用来link_to
调用我的控制器中的方法。但是,由于某些奇怪的原因,该路线会寻找该show
方法。
在我看来:
<% @beverages.each do |beverage| %>
..
<%= link_to 'Archive', beverages_archive_path(:id => beverage.id) %>
..
<% end %>
在我的 config/routes.rb
match 'beverages/archive' => 'beverages#archive'
在我的饮料控制器.rb
def archive
beverage = Beverage.find(params[:id])
respond_to do |format|
# format.html # show.html.erb
format.json { render json: beverage }
end
# beverage.update_attribute('archive', true)
end
当我单击视图中的存档链接时,URL 确实更改为:http://localhost:3000/beverages/archive?id=11
,但是我收到以下错误。
我得到的错误: ActiveRecord::RecordNotFound(找不到 id=archive 的饮料):app/controllers/beverages_controller.rb:46:in `show'
知道我做错了什么吗?非常感谢您的帮助!
PS。我还看了Rails 3 link_to delete destory方法调用show方法? 但似乎没有任何效果。