Rails添加第二个显示视图

时间:2012-12-26 16:24:04

标签: ruby-on-rails-3

我想为名为locations的表创建第二个show文件。 该文件是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"}

URL:

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' %>

1 个答案:

答案 0 :(得分:2)

此新错误表示您没有将params[:id]传递给您的控制器上的操作。您可以通过添加链接信息来完成此操作:

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

由于show2是自定义路由,您必须指定要传递给控制器​​的参数的名称。希望它有所帮助。