传递params以设计注册/注册时必须传递哈希错误

时间:2016-09-30 12:43:18

标签: ruby-on-rails ruby devise

这是显示的错误

When assigning attributes, you must pass a hash as an argument.

我正在尝试通过类似此/users/sign_up?account=571917355

的URL传递params

registrations_controller.rb

def new
  @user = User.new(params[:account])
end

是否正在做一些不允许这种工作的事情?我搜索过,但似乎没有任何帮助修复错误。我甚至不确定这个错误意味着什么。

2 个答案:

答案 0 :(得分:1)

对于Devise new

before_filter :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_up).push(:account)
  end

devise_parameter_sanitizer.permit(:sign_up, keys: [:account])

更多info

答案 1 :(得分:0)

它应该是一个帖子请求,参数必须像这样

user[:account]

url应该喜欢/ sign_up?user [account] = 571917355& user [name] = xyz