link 到当前在 Devise 中登录的用户配置文件
link to currently logged in user's profile in Devise
我正在尝试 link 设计用户配置文件
Rails.application.routes.draw do
devise_for :users
#get '/users/:id', :to => 'users#show', :as => :user
resources :users
root to: "welcome#index"
我的User.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/avatar/:style/missing.png"
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/
end
我的Link
<li><%= link_to (image_tag current_user.avatar.url(:thumb)), user_path(current_user.id), class: "navbar-link" %></li>
我的设置与
相同
User profile pages with devise - Routing to show action
我遇到这个错误
未初始化常量 UsersController
谢谢
在路由文件中调用 devise_for
会自动创建设计工作所需的路由。 devise 的控制器打包在 gem 中,您看不到。
之后调用 resources :users
意味着 rails 将查找一个名为 UsersController 的控制器,它不是 devise 使用的控制器。您的 app/controllers 目录中没有 UsersController,这就是您收到上述错误的原因。
Devise 是一种开箱即用的解决方案,要自定义控制器或视图,您需要将适当的文件复制到您的应用程序中。有一些命令可以轻松让您这样做。所有这些信息(以及更多)都可以在 here 中找到。特别感兴趣的是 "Configuring controllers".
部分
在开始之前阅读 gem 的基本文档始终是一个好习惯。
编辑: 设计似乎不会自动为用户创建显示操作,因此需要一个单独的控制器。有关如何为用户设置查看操作的相关问题,请单击 here。
我正在尝试 link 设计用户配置文件
Rails.application.routes.draw do
devise_for :users
#get '/users/:id', :to => 'users#show', :as => :user
resources :users
root to: "welcome#index"
我的User.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/avatar/:style/missing.png"
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/
end
我的Link
<li><%= link_to (image_tag current_user.avatar.url(:thumb)), user_path(current_user.id), class: "navbar-link" %></li>
我的设置与
相同User profile pages with devise - Routing to show action
我遇到这个错误
未初始化常量 UsersController
谢谢
在路由文件中调用 devise_for
会自动创建设计工作所需的路由。 devise 的控制器打包在 gem 中,您看不到。
之后调用 resources :users
意味着 rails 将查找一个名为 UsersController 的控制器,它不是 devise 使用的控制器。您的 app/controllers 目录中没有 UsersController,这就是您收到上述错误的原因。
Devise 是一种开箱即用的解决方案,要自定义控制器或视图,您需要将适当的文件复制到您的应用程序中。有一些命令可以轻松让您这样做。所有这些信息(以及更多)都可以在 here 中找到。特别感兴趣的是 "Configuring controllers".
部分在开始之前阅读 gem 的基本文档始终是一个好习惯。
编辑: 设计似乎不会自动为用户创建显示操作,因此需要一个单独的控制器。有关如何为用户设置查看操作的相关问题,请单击 here。