簡體   English   中英

Ruby on rails,PATCH 方法通過事務回滾恢復

[英]Ruby on rails, PATCH method reverted by transaction rollback

我不擅長 ruby 但我必須使用 Rails 制作項目,但遇到了問題。 我正在制作一個論壇應用程序,用戶可以在其中擁有多個配置文件並在它們之間進行更改。 幾個小時后,我想如果我將一整列添加到名為 current_profile_id 的用戶表中,我將在其中存儲用戶當前選擇的配置文件,這可能會更容易。 我正在使用 PATCH 方法將配置文件 id 插入表中,但這樣做后事務會回滾,我什么也沒有。 我是一個新手,有點不想這樣做,所以我的代碼很可能很糟糕。

看法:

  <% @user.profiles.each do |profile| %>
    <%= link_to content_tag(:div, profile.name), users_profiles_path(:current_profile_id => profile.id), method: :patch %>
  <% end %>
  <div>
    <%= current_user.current_profile_id %>
  </div>

用戶 controller:

def setProfile
 @user = User.find_by(id: params[:id])
 @user.current_profile_id = params[:current_profile_id]
 @user.save
end

路線:

  patch '/users/:id/profiles', to: 'users#setProfile'

wsl 終端截圖

我知道這個想法並沒有真正經過深思熟慮,但在這一點上,我不得不接受它。

問題不在於您的補丁請求本身:而是您沒有為 controller 設置視圖模板來轉發。 嘗試使用您的setProfile操作將視圖模板創建到 go,或者將請求從該操作重定向到另一個位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM