我正在尝试链接到设计用户个人资料
Rails.application.routes.draw do
devise_for :users
#get '/users/:id', :to => 'users#show', :as => :user
resources :users
root to: "welcome#index"
我的用户.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
我的链接
<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
感谢
答案 0 :(得分:2)
在路由文件中调用devise_for
会自动创建设计工作所需的路由。设计控制器包装在宝石内部,对您不可见。
之后调用resources :users
意味着rails将查找名为UsersController的控制器,该控制器不是设备使用的控制器。您的app / controllers目录中没有UsersController,这就是您收到错误的原因。
Devise是一个开箱即用的解决方案,为了自定义控制器或视图,您需要将相应的文件复制到您的应用程序中。有一些命令可以轻松地让你这样做。所有这些信息(以及更多信息)都可以找到here。特别感兴趣的是“配置控制器”部分。
在开始之前阅读gem的基本文档总是很好的做法。
编辑:设计似乎不会自动为用户创建显示操作,因此需要单独的控制器。点击here以获取有关如何为用户设置查看操作的相关问题。