[英]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'
我知道這個想法並沒有真正經過深思熟慮,但在這一點上,我不得不接受它。
問題不在於您的補丁請求本身:而是您沒有為 controller 設置視圖模板來轉發。 嘗試使用您的setProfile
操作將視圖模板創建到 go,或者將請求從該操作重定向到另一個位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.