Ruby on rails 在新页面Rail 5中使用变量?

Ruby on rails 在新页面Rail 5中使用变量?,ruby-on-rails,ruby-on-rails-5,Ruby On Rails,Ruby On Rails 5,我想在Rails 5中创建一个新页面,传递一个在我的程序中使用的变量,然后从新页面使用它。如果这是显而易见的,我很抱歉,我只是在学习 我的代码如下所示: def show @user = User.find_by_id(params[:id]) end 我的视图中有一个名为Users的文件夹。此文件夹由显示/编辑/索引/查看文件组成。从索引视图来看,我写过 <%= link_to "Profile", profile_path(@users) %> 在Users文件夹中,我

我想在Rails 5中创建一个新页面,传递一个在我的程序中使用的变量,然后从新页面使用它。如果这是显而易见的,我很抱歉,我只是在学习

我的代码如下所示:

def show
   @user = User.find_by_id(params[:id])
end
我的视图中有一个名为Users的文件夹。此文件夹由显示/编辑/索引/查看文件组成。从索引视图来看,我写过

<%= link_to "Profile", profile_path(@users) %>
Users文件夹中,我有一个名为profile.html.erb的视图文件


在纵断面图中,我试图使用@users,但@users为零

与通过控制器中的索引方法将@users传递到索引视图的方式相同,您也可以通过show方法将其传递到show视图。但我认为你要做的是链接到那个档案,所以你会这样做

<%= link_to "Profile", profile_path(user.id) %>

这将允许您访问视图中的该用户。

与通过控制器中的索引方法将@users传递到索引视图的方式相同,您也可以通过show方法将其传递到show视图。但我认为你要做的是链接到那个档案,所以你会这样做

<%= link_to "Profile", profile_path(user.id) %>

这将使您能够访问视图中的该用户。

如果您有一个
配置文件
方法,并且您的路由没有定义为不期望任何结果,那么如果您执行以下操作:

<%= link_to "Profile", profile_path(@users) %> 
<%= link_to "Profile", profile_path(user) %> 
然后您将看到一个
a
标记,该标记带有该用户的
id
users.1
),它是从
@users
变量中的每个元素的迭代中获取的用户

如果您希望通过
链接到
帮助程序将变量从一个控制器传递到另一个控制器(或相同但不同的操作),则需要参考它将采取的
参数传递变量,您可以执行以下操作:

<%= link_to "Profile", profile_path(user: user) %>
变量是
@user
,只有一个用户,它将在响应
users\profile
的视图中可用

如果要将
@users
变量发送到控制器,并在那里执行任何您想执行的操作,则可以使用相同的方式,然后在控制器中“重新分配”该变量:

#查看
#控制器
def配置文件
@接收的用户=参数[:用户]
...
#响应纵断面方法的视图

如果您有一个
配置文件
方法,并且您的路线没有定义为不期望任何东西,那么如果您这样做:

<%= link_to "Profile", profile_path(@users) %> 
<%= link_to "Profile", profile_path(user) %> 
然后您将看到一个
a
标记,该标记带有该用户的
id
users.1
),它是从
@users
变量中的每个元素的迭代中获取的用户

如果您希望通过
链接到
帮助程序将变量从一个控制器传递到另一个控制器(或相同但不同的操作),则需要参考它将采取的
参数传递变量,您可以执行以下操作:

<%= link_to "Profile", profile_path(user: user) %>
变量是
@user
,只有一个用户,它将在响应
users\profile
的视图中可用

如果要将
@users
变量发送到控制器,并在那里执行任何您想执行的操作,则可以使用相同的方式,然后在控制器中“重新分配”该变量:

#查看
#控制器
def配置文件
@接收的用户=参数[:用户]
...
#响应纵断面方法的视图

该变量已经创建,并且从其他视图中使用时没有问题,但是现在我想从新页面中使用该变量,结果显示为零。您想访问
profile
方法中的某个特定用户还是
@users
变量中的所有用户?我猜是
@users=User.all
。如果您需要任何类型的帮助,您需要提供控制器文件和视图文件。变量已经创建,并且从其他视图使用时没有问题,但是现在我想从我的新页面中使用该变量,它将变为零。您想访问
profile
方法中的某个特定用户还是
@users
变量中的所有用户?我猜是
@users=User.all
。如果你想要一些对你有用的帮助,你需要提供你的控制器文件和查看文件。只需提到
profile\u path(User)
也会起作用,
find\u by\u id
可以替换为
find
。我尝试了你的建议,但在我的新页面上,当我尝试使用它时,用户是零。我的还是Ted的?你如何访问该用户?关于Ted的建议。用户在整个索引视图中都使用过,没有问题,但是我想链接到另一个页面并在那里使用它,我想这里缺少一些非常基本的东西。您可以将您正在使用的控制器添加到问题中吗?只需提一下
profile\u path(user)
也会起作用,
find\u by\u id
可以替换为
find
。我尝试了你的建议,但在我的新页面上,当我尝试使用它时,用户为零。我的或Ted的?你如何访问该用户?关于Ted的建议。用户在整个索引视图中都被使用,没有问题,但是我想链接到另一个页面并在那里使用它,我想这里缺少一些非常基本的东西。你能在问题中添加你正在使用的控制器吗?