所以我想向我的设计模型用户添加一些新字段。当我使用 Rails 3 时,我只是向模型添加了新字段,并将这些字段添加到 Model.rb
attr_accessible :name, :etc
然后我更改了注册视图。 现在我也做了同样的事情,但我没有设计/用户控制器,所以我不能做这样的事情
def user_params
params.require(:users).permit(:name)
end
或者
attr_accessible :name, :etc
这分为三个部分:
rails generate migration add_name_to_users name:string
您需要添加在用户的注册/编辑表单中添加/编辑名称的功能。 (看起来您已经在第一个代码示例中完成了)
您需要添加添加到控制器的强参数(您已经在第二个代码示例中完成了。
基本上看来您还没有生成迁移。您收到任何错误消息吗?
自 Devise 4 以来,Parameter Sanitaizer API 已更改:
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
end
end