[英]rails controller respond_to if/else based on action is successful/not
基于此自定义操作对html和js的成功,我如何使用条件条件。 通过基本操作(更新,创建)可以很好地工作,但是在这里我无法正确执行if / else语句,因此我没有检查操作是否成功
通过format.js表单,我正在使用AJAX和complete.js.erb。
控制者
def complete
@task.update_attribute(:completed_at, Time.now)
respond_to do |format|
format.html { redirect_to completed_tasks_user_tasks_path(current_user), notice: "Task completed!" }
format.js
end
end
视图
<% if task.completed_at == nil %>
<%= link_to complete_user_task_path(id: task.id), action: :complete, remote: true, method: :patch do %>
<i class="fa fa-check"></i>
<% end %>
......
因为update_attribute不会运行验证/回调,所以这里的操作总是会成功的。 因此,您不必检查此操作是否成功。 如果您担心它会引发错误,则可以begin...rescue
在update_attribute
周围begin...rescue
,否则,您不必担心它。
另外,如果您希望它运行那些,则将其更改为if @task.update(completed_at: Time.now)
并适当地返回值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.