我有三种模式:
inline fun ViewManager.observableWebView() = observableWebView {}
这意味着class User < ApplicationRecord
has_many :game_accounts
has_many :favorite_game_accounts, through: :game_account_favorites, source: :game_account
end
class GameAccount < ApplicationRecord
belongs_to :user
has_many :favorite_users, through: :game_account_favorites, source: :user
end
class GameAccountFavorite < ApplicationRecord
belongs_to :user
belongs_to :game_account
validates_presence_of :user, :game_account
validates_uniqueness_of :user, scope: :game_account_id
end
可以拥有自己的User
,其他GameAccounts
可以将其添加到收藏夹中。
我添加了Users
以防止一个用户拥有相同scope
的多个收藏夹。但是,有一个问题。用户可以添加到收藏夹他自己的GameAccount 。如何防止用户将自己的GameAccount
添加到收藏夹?
答案 0 :(得分:1)
我不确定是否有针对您的内置Rails验证,所以我建议您自己编写自定义Rails验证。
在您的特定情况下,您可以在GameAccountFavorite
个实例上验证game_account.user_id
是否等于user.id
。