Jam*_*hon 0 ruby ruby-on-rails
我正在寻找一种方法来防止用户在我的 Rails 应用程序中没有更改任何值时单击更新方法的更新。如果他们不更改任何值,我的 UPDATE 方法将在某些字段中写入空值,因此如果用户不更改任何详细信息而只是单击更新,我需要应用程序来防止更新记录。
任何建议将不胜感激。
仅供参考,这是标准的千篇一律的更新方法:
def update
if @client.update(client_params)
redirect_to @client, notice: 'Client was successfully updated.'
else
render :edit
end
end
Run Code Online (Sandbox Code Playgroud)
默认情况下,只有在修改任何一个值时,才会执行 Rails UPDATE 方法。如果没有修改字段值,UPDATE 方法将不会运行查询,只需检查并返回结果。
我将给出相同的例子。我有一个组织模型,其中我最初使用相同的现有字段值更新了记录:
注意:在更新中,最好发送旧值以避免将空值存储在数据库中。在您的情况下,更新需要“client_params”中定义的所有参数。如果发送空参数,请包含一个 nil 检查或验证以避免相同。您还可以为此编写自定义更新方法。
| 归档时间: |
|
| 查看次数: |
4757 次 |
| 最近记录: |