Ruby on rails 用户路径(user)未定义的局部变量或方法`user';
我正在尝试为我的应用程序的用户添加配置文件页面 我遵循railscasts&设置我的用户身份验证并添加以下内容以获取用户配置文件 users/show.html.erbRuby on rails 用户路径(user)未定义的局部变量或方法`user';,ruby-on-rails,ruby-on-rails-3,link-to,Ruby On Rails,Ruby On Rails 3,Link To,我正在尝试为我的应用程序的用户添加配置文件页面 我遵循railscasts&设置我的用户身份验证并添加以下内容以获取用户配置文件 users/show.html.erb <div class="page-header"> <h1><%= @user.name %> Profile</h1> </div> <p> <b>email:</b> <%= @user.email %>
<div class="page-header">
<h1><%= @user.name %> Profile</h1>
</div>
<p>
<b>email:</b>
<%= @user.email %>
</p>
<%= link_to "View your Profile", user_path(user) %>
def show
@user = User.find(params[:id])
end
这会返回一个未定义的局部变量或方法“user”
错误
因此,我尝试将这两行添加到我的应用程序\u controller.rb:
@user = User.all
&
但它们分别返回了以下错误
undefined local variable or method `user'
&
我在我的routes.rb文件中有
resources:users
,我还尝试添加get'users/:id',:to=>'users#show',:as=>'user'
,但没有任何成功。要转到当前登录用户的显示页面:
<%= link_to "View your Profile", current_user %>
保持显示操作原样,只使用
资源:用户即可转到当前登录用户的显示页面:
<%= link_to "View your Profile", current_user %>
让show操作保持原样,只使用资源:用户我认为问题出在您的布局/u导航栏文件中。您需要定义用户
使用帮助程序:
或者:'users',:action=>'show',:id=>current\u person.id})%><。您需要定义用户
使用帮助程序:
或者:'users',:action=>'show',:id=>current\u person.id})%%>
对你不起作用?除非你做了一些非常有趣的事情,params
变量永远不应该是未定义的…
对你不起作用吗?除非你做了一些非常有趣的事情,params
变量永远不应该是未定义的…谢谢你,这个成功了:)。不过,我不知道当前用户如何成为路由,似乎可以使用包含数据库中对象的magicany变量将您重定向到对象显示页面。current_user
是user
类的一个对象,因此可以使用它将您重定向到用户的显示页面:)谢谢你,这很有效:)。不过,我不知道当前用户如何成为路由,似乎可以使用包含数据库中对象的magicany变量将您重定向到对象显示页面。current\u user
是user
类的对象,因此可以使用它将您重定向到用户的显示页面:)
<%= link_to "View your Profile", current_user %>