在将rails应用程序从3.2迁移到4.1时,我遇到了一些用户创建问题。因为需要区分current_user形式的local_user。控制器创建动作
def create
@local_user = User.new(user_params)
respond_to do |format|
if @local_user.save
if params[:user][:avatar].present?
format.html { render :crop }
else
format.html { redirect_to(admin_user_path(@local_user), :notice => 'User was successfully created.') }
end
else
format.html { render :action => "new" }
end
生成控制台错误:Unpermitted parameters: name, surname, pen_name[...]
,但用户控制器定义它们:
def user_params
params.require(:user).permit(:name, :surname, :pen_name, [...])
end
表单调用是:
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :method => :post, :validate => true) do |f| %>
这必然是一个设计问题,用户可以使用具有完全相同变量的User类的脚手架创建。有一些逻辑设计正在经历,它没有拉动所有的控制器逻辑;我错过了什么?