Jas*_*ant 1 ruby-on-rails ruby-on-rails-3.2
我是Rails的新手并使用此代码进行更新或插入.
user = User.find_by_email(params[:email])
if user.nil?
User.create!(params)
else
user.save(params)
end
// params is a hash with keys as table columns
Run Code Online (Sandbox Code Playgroud)
此代码无效.另外,我想知道Rails是否有一些神奇的东西在一行中做到这一点?
我没有宣布email为主键,但它将是独一无二的.它会帮助我宣布它是主要的吗?
您的代码不起作用,因为参数to save是选项的散列(例如应运行验证),而不是属性的更改.你可能想要update_attributes!.我通常会写类似的东西
User.where(:email => params[:email]).first_or_initialize.update_attributes!(params)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |