2016-09-01 57 views
0

我想使用link_to传递参数。 (我也想使用引导选项卡)如何使用link_to传递参数?

ilban.html.erb

<%= link_to '일반공지', '#home', { 'data-toggle' => 'tab', 'aria-controls'=>'home', 'role'=>'tab', :where => 1 } %> 

cpu_controller.rb

@where = params[:where] 

此代码没有得到where作为参数。我该如何解决它?

回答

2

我没有测试过它,但它应该通过你想要的参数。

link_to "Search", searches_path(:where => 1, :when => "Today"), { 'data-toggle' => 'tab', 'aria-controls'=>'home', 'role'=>'tab' } 

控制器:

@where = params[:where] 
+0

我想要使用这种形状的网址:'#home'。它指的是div的具体ID,我不知道如何将此url转换为searching_path形状。 –

+0

@김혜진到目前为止,如果你想发送params到控制器你必须调用特定的路由。你可以看到终端'耙路线'中的所有路线。使用'#'哈希标记并向控制器发送它不可能。散列标签用于发送页面的特定内容。 – 7urkm3n

0

在Rails 5,试试这个语法link_to

link_to 'Show', view_path(:id => view.id), { 'data-toggle' => 'tab', 'aria-controls'=>'home', 'role'=>'tab' } 

在的地方,你可以用你controller path编辑,并通过有效的id你需要链接。

或者,试试这个语法也通过PARAMS

<%= link_to "Add car", {:controller => "car", :action => "add_car", :car => car.id }%> 

,并添加您的控制器

@car = Car.find(PARAMS [:汽车])

+0

1.不是'Rails 5'特定的语法。 2.在你的例子中使用了古老的ruby语法。3.这种方法通常不被建议,因为rails可以改变模型的'to_param'方法并且具有别的成员路径标识(如名称或随机数)。将它编码为'id'会使其更难改变。相反,像'view_path(view)'而不是'view_path(:id => view.id)传递完整的对象' – Kkulikovskis

+0

我想使用这种形状的网址:'#home'。它引用div的具体ID,我不知道如何将此url转换为searching_path形状.. –