我有表格
查看
<%= simple_form_for User.new do |f| %>
<%= f.input :email %>
<%= text_field_tag "user[data[first_name]]" %>
<%= f.button :submit %>
<% end %>
控制器#创建
@user = User.find_or_initialize_by_email(params[:user][:email])
if @user.update_attributes(params[:user])
...
如果params(在这种情况下为date
)为空或空白,如何拒绝更新用户hstore first_name
属性?
答案 0 :(得分:1)
在我看来,你对create
行动采取了错误的策略。只是做
@user = User.new(params[:user])
@user.save
如果您想确保用户之间的email
唯一,请使用Rails的验证,如下所示:
class User
#...
validates_uniqueness_of :email
#...
end
您的方法将在创建期间使用相同的电子邮件修改现有用户。听起来不错。
有关详细信息,请查看 scaffolded 控制器的create
。