在Rails中的视图之间传递变量

Noa*_*ark 3 ruby variables views ruby-on-rails ruby-on-rails-3

我一直在试图弄清楚如何在两个视图之间传递变量,我已经查看了堆栈溢出的所有示例,我似乎无法使其工作.

我在我的用户中有这个 - > 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 %>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将user.id传递给我的关系 - > new.html.erb视图.

在我的控制器中我有:

class RelationshipsController < ApplicationController
    def new
        @id = params[:id]
    end
end
Run Code Online (Sandbox Code Playgroud)

最后我有关系 - > new.html.erb

<section id="main">
  <h1>Sign Up</h1>
  <td><%= @id %></td>
</section>
Run Code Online (Sandbox Code Playgroud)

我相信:id没有正确传递.我在其他所有例子中都缺少什么?我没有错误,只显示没有任何内容.

Thi*_*ilo 6

这个

link_to 'Connect', new_relationship_path, :id => user.id
Run Code Online (Sandbox Code Playgroud)

将:id作为html_option传递给link_to,因此它将用作link元素的"id"属性.你想要的是将它作为参数传递给路径助手:

link_to 'Connect', new_relationship_path(:id => user.id)
Run Code Online (Sandbox Code Playgroud)