簡體   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