正确的方法来阻止ActiveRecord :: ReadOnlyRecord是通过在Rails应用中使用update
和update_attributes
方法来更新数据库记录。
update
和update_attributes
方法会尝试更新记录,但如果记录不存在或者无法更新,它们会抛出ActiveRecord::ReadOnlyRecord
异常。为了阻止这个异常,可以使用update!
和update_attributes!
方法,它们会在更新失败时抛出异常,而不是返回false
。
以下是一个示例代码:
def update_user
@user = User.find(params[:id])
if @user.update!(user_params)
redirect_to @user
else
render 'edit'
end
end
在这个示例中,如果update!
方法失败,将会抛出ActiveRecord::ReadOnlyRecord
异常,并且不会执行render 'edit'
语句。这样可以确保只有在更新成功时才会重定向到用户页面,而在更新失败时会重新渲染编辑页面。
推荐的腾讯云相关产品和产品介绍链接地址:
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云