Ruby on rails 在新页面Rail 5中使用变量?
我想在Rails 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文件夹中,我
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的建议。用户在整个索引视图中都被使用,没有问题,但是我想链接到另一个页面并在那里使用它,我想这里缺少一些非常基本的东西。你能在问题中添加你正在使用的控制器吗?