Yur*_*i10 3 ruby-on-rails devise
所以我想为我的Devise模型用户添加一些新字段.当我使用Rails 3时,我只是添加了新的字段来建模并将这些字段添加到Model.rb中
attr_accessible :name, :etc
Run Code Online (Sandbox Code Playgroud)
然后我更改了注册视图.现在我已经做了同样的事情,但我没有设计/用户控制器所以我不能做这样的事情
def user_params
params.require(:users).permit(:name)
end
Run Code Online (Sandbox Code Playgroud)
要么
attr_accessible :name, :etc
Run Code Online (Sandbox Code Playgroud)
pun*_*t18 13
class RegistrationsController < Devise::RegistrationsController
private
def sign_up_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation)
end
def account_update_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password)
end
end
Run Code Online (Sandbox Code Playgroud)
现在我们需要告诉Devise使用我们的注册控制器 - 我们可以在config/routes.rb文件中执行此操作.
devise_for :users, :controllers => { registrations: 'registrations' }
Run Code Online (Sandbox Code Playgroud)
这分为三个部分:
rails generate migration add_name_to_users name:string
您需要添加在用户的注册/编辑表单中添加/编辑名称的功能。(看起来您已经在第一个代码示例中完成了)
您需要添加添加到控制器的强参数(您已经在第二个代码示例中完成了这一操作)。
基本上看来您还没有生成迁移。您收到任何错误消息吗?
| 归档时间: |
|
| 查看次数: |
6564 次 |
| 最近记录: |