我正在创建一个具有User
和Plugin
模型的应用。用户可以有多个插件,插件可以属于多个用户,我已经使用联结表实现了。
class Plugin < ActiveRecord::Base
has_many :user_plugins
has_many :users, through: :user_plugins
end
class User < ActiveRecord::Base
has_many :user_plugins
has_many :plugins, through: :user_plugins
end
class UserPlugins < ActiveRecord::Base
belongs_to :user
belongs_to :plugin
end
但是,我想为每个用户插件存储任意数据(例如,api键,选项等可能因插件而异的内容。)。
我最初的做法是让user_plugins_options
加入user_plugins
,但我似乎无法使其正常工作。
class UserPluginOptions < ActiveRecord::Base
belongs_to :user_plugins
end
我的问题是,我应该如何解决这个问题,以便最好地使用ActiveRecord?
答案 0 :(得分:0)
我认为你错误地命名了你的班级,因为该表是user_plugins但模型是UserPlugin
。因此,你遇到问题是合理的。
同意Alex。为什么不在UserPlugin
调用选项上创建一个json字段,并在此处保留插件特定值的哈希值。
如果您必须有另一张桌子,则应在has_one :user_plugin_option
UserPlugin