我一直在试图弄清楚如何在两个视图之间传递变量,并且我已经查看了堆栈溢出的所有示例,但似乎无法使其工作。
我的用户中有这个->index.html.erb
<% @users.each do |user| %>
<tr>
<td><%= user.name %></td>
<td><%= user.email %></td>
<td><%= user.id %></td>
<td><%= link_to 'Profile', user %></td>
<td><%= link_to 'Connect', new_relationship_path, :id => user.id %><td>
</tr>
<% end %>
我正在尝试将 user.id 传递给我的关系 -> new.html.erb 视图。
在我的控制器中我有:
class RelationshipsController < ApplicationController
def new
@id = params[:id]
end
end
最后我有了关系 -> new.html.erb
<section id="main">
<h1>Sign Up</h1>
<td><%= @id %></td>
</section>
我相信 :id 没有正确传递。我从所有其他例子中遗漏了什么?我没有收到任何错误,只是没有显示任何内容。
This
link_to 'Connect', new_relationship_path, :id => user.id
正在将 :id 作为 html_option 传递给 link_to,因此它将用作链接元素上的“id”属性。相反,您想要的是将其作为参数传递给路由助手:
link_to 'Connect', new_relationship_path(:id => user.id)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)