Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 设计用户显示页面控制器不工作_Ruby On Rails_Controller_Devise_Routes_Show - Fatal编程技术网

Ruby on rails 设计用户显示页面控制器不工作

Ruby on rails 设计用户显示页面控制器不工作,ruby-on-rails,controller,devise,routes,show,Ruby On Rails,Controller,Devise,Routes,Show,我使用的是rails 3.1.3(我相信是最新版本),在我的应用程序中,我使用的是gem Desive for user auth。为了添加一个用户显示(配置文件)页面,我添加了一个Users\u Controller.rb class UsersController < ApplicationController before_filter :authenticate_user! def show @userProfile = User.find(params[:id]

我使用的是rails 3.1.3(我相信是最新版本),在我的应用程序中,我使用的是gem Desive for user auth。为了添加一个用户显示(配置文件)页面,我添加了一个
Users\u Controller.rb

class UsersController < ApplicationController
  before_filter :authenticate_user!

  def show
    @userProfile = User.find(params[:id])
    @user = current_user
    @title = @userProfile.name
  end
end
class UsersController
routes.rb
文件中,我有
resources:users
。 我还有一个简单的
app/views/users/show.html.erb
。 现在,当我手动转到localhost:3000/users/1时,这一切都很好,但当我尝试链接到配置文件
(这在我的
applicationcontroller.rb
中,以防万一)时,我得到了一个动作控制器:异常
没有路由匹配{:动作=>“显示”,:控制器=>“用户”}
但当我搜索路线时,动作秀和控制器用户就会出现。我做错了什么!!!
请帮忙

您应该将@user传递给呈现此链接的视图。

您应该将@user传递给呈现此链接的视图。

您可以尝试此替代方法

<%=link_to "My Profile", "/users/#{@user.id}" %>

您可以尝试此备选方案

<%=link_to "My Profile", "/users/#{@user.id}" %>

而不是

<%=link_to "My Profile", user_path(@user) %>


然而,在
ApplicationController
中这样做似乎有点奇怪。它可能位于视图或布局文件中。

而不是

<%=link_to "My Profile", user_path(@user) %>



然而,在
ApplicationController
中这样做似乎有点奇怪。它可能位于视图或布局文件中。

我在应用程序控制器中呈现此链接。我应该将其传递给控制器吗?我在应用程序控制器中呈现此链接。我应该把它交给控制器吗?啊,我知道了。不是@user,而是current_userah,我知道了。它应该是当前用户,而不是@user