0

我想要一个名为位置的表的第二个显示文件。该文件是views/locations/show2.html.erb

我已经添加了一个名为 index2.html.erb 的第二个索引,我通过它访问它

 locations_index2_path
  • 我有一条名为 get "locations/index2" 的路线

但是,如果我尝试类似的东西,它就不起作用:

location_show2_path(location)

我还将它添加到位置控制器中:

def show2
  @location = Location.find(params[:id])
end

谢谢!

更新 - 我得到“找不到没有 ID 的位置”参数:

{"format"=>"14"}

网址:

http://localhost:5000/locations/show2.14

路线:

  get "locations/show2"

位置控制器:

 def show2
  @location = Location.find(params[:id])

  respond_to do |format|
    format.html # show2.html.erb
    format.json { render json: @location }
  end
end

索引视图中的链接:

          <%= link_to 'Show', locations_show2_path(location),  :class => 'btn btn-mini btn-success' %>
4

1 回答 1

2

这个新错误意味着您没有将 an 传递params[:id]给您的控制器上的操作。您可以通过在链接上添加信息来做到这一点:

 <%= link_to 'Show', locations_show2_path(:id => location.id) %>

作为show2自定义路由,您必须指定要传递给控制器​​的参数的名称。希望能帮助到你。

于 2012-12-27T19:04:47.370 回答