簡體   English   中英

無法在Rails_Admin中更新用戶並使用belongs_to對用戶進行建模:user

[英]Can't update user in Rails_Admin for and model with belongs_to :user

我有2種情況,但都解決了相同的結果。 兩種情況都涉及嘗試通過Rails_admin更新具有兩個模型的“ belongs_to:user”關聯的記錄。

方案1:我需要更新屬於用戶的視頻記錄。 如果我嘗試更改分配了此視頻的用戶,則user_id將始終更改為登錄Rails_Admin的管理員的user_id。 無論我嘗試編輯哪個字段,user_id都將更改為當前登錄的Admin。

方案2:我需要更新一個用戶的個人資料記錄上的信用額度。 再一次,即使我看不見該用戶,無論我更改哪個字段,user_id都將更改為當前登錄的管理員的user_id。

建議?

我遇到了同樣的問題,為了避免能力重疊,我通過改變自己的能力解決了這個問題。 這意味着,如果用戶是管理員,那么他將沒有為其他用戶設置的功能。

導致錯誤的重疊示例:

user ||= User.new # guest user (not logged in)

can :manage, Video, user: user
if user.admin?
  can :manage, Video
end

這應該更改為:

user ||= User.new # guest user (not logged in)

if user.admin?
  can :manage, Video
else
  can [:crud], Video, :user_id => user.id
end  

聽起來您的cancan配置有問題。

檢查像這樣的行:

可以:管理,視頻,用戶:user

在這種情況下,RailsAdmin會將user_id的任何值覆蓋為current_user。

暫無
暫無

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

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