Rails newb,只是在我的第一个应用程序和我的第一个编码体验之外的一个小python和bash for sysadmin类型的工作。在C9上使用rails 4.1,好奇为什么我遇到了这种情况。从我读到的关于使用强参数的内容来看,这取代了旧的Rails 3使用的attr_accessible。
我在我的应用上使用设计和设置身份验证,然后想要添加一些自定义字段,如用户名和邮政编码,以通过用户个人资料页面进行更新。这是我必须完成的代码。根据我的阅读,强参数应该从模型移动到控制器中。
app / controllers / registrations_controller.rb#这继承了devise :: reg
def sign_up_params
params.require(:user).permit(:username, :email, :password, :zipcode, :password_confirmation)
end
def account_update_params
params.require(:user).permit(:username, :email, :password, :zipcode, :password_confirmation, :current_password)
end
但是,即使添加了这个内容,它仍然没有通过我的/ users / edit页面保存字段而没有添加以下内容。
应用程序/模型/ user.rb
attr_accessible :email, :password, :password_confirmation, :remember_me, :username, :zipcode
一旦将用户名和邮政编码符号(不确定是正确的术语)添加到user.rb,就会填充数据库。我唯一能想到的是我添加了gem' protected_attributes'还想回想一下这个问题。这是什么迫使我在user.rb中使用attr_accessible语句?
如果有任何其他有用的代码,请询问。感谢您看一看,我开始理解这一点后非常感激。
答案 0 :(得分:0)
我想在问这里之前我应该自己尝试一下。我删除了gem'en protected_attributes'并注释掉了attr_accessible线并重新启动了rails和viola,它仍然有效。 :d