繁体   English   中英

rails controller response_to如果/其他基于操作成功/不成功

[英]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...rescueupdate_attribute周围begin...rescue ,否则,您不必担心它。

另外,如果您希望它运行那些,则将其更改为if @task.update(completed_at: Time.now)并适当地返回值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM