[英]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.