【发布时间】:2015-07-09 23:43:33
【问题描述】:
我有一个模型“arbete”的索引,如果提供了 :id,它会过滤索引并仅显示具有 id 的车辆的索引。
如果我在视图中创建一个 link_to 来再次显示整个索引,它仍然会再次生成索引链接和 id,即使我没有提供操作或 id。
link_to("show all", :controller => 'arbete')
生成:
<a href="/arbete/index/22">show all</a>
我找到的唯一解决方案是指定 :id => ' ' 然后我得到链接:<a href="/arbete/index">
为什么会这样?
更新
arbete_controller.rb
def index
@arbetecl = Arbete.order("id ASC").where(:oppen => false)
if params[:id].present?
@vehicle = Vehicle.find(params[:id])
@arbeteop = @vehicle.arbetes.all
else
@arbeteop = Arbete.order("id ASC").where(:oppen => true)
end
视图中的链接
<li><%= link_to "Testarbete", :controller => 'arbete' %></li>
在发送 id 参数时生成。
<li><a href="/arbete/index/67">Testarbete</a></li>
routes.rb
match ':controller(/:action(/:id))', :via => [:get, :post]
我认为它是一种理想的行为,但我找不到原因,它只发生在这个模型和控制器上,但它也是唯一一个获得参数到其索引操作的。
【问题讨论】:
标签: ruby-on-rails