Ruby on rails 多态类与多态类有很多联系
我的多态关联有问题 role.rbRuby on rails 多态类与多态类有很多联系,ruby-on-rails,relationship,Ruby On Rails,Relationship,我的多态关联有问题 role.rb class Role < ActiveRecord::Base belongs_to :resource, polymorphic: true end 看看-看起来Rails不支持这种开箱即用(至少通过Rails 4.2-不确定您使用的是哪个版本)。看起来最好的解决方案可能是重写\u type方法。看起来可能还有一块宝石:不清楚你想要什么。请重新措辞,并明确说明您正试图完成的任务。感谢您的回复,我使用“范围”或自定义函数来完成此任务。。。 clas
class Role < ActiveRecord::Base
belongs_to :resource, polymorphic: true
end
看看-看起来Rails不支持这种开箱即用(至少通过Rails 4.2-不确定您使用的是哪个版本)。看起来最好的解决方案可能是重写
\u type
方法。看起来可能还有一块宝石:不清楚你想要什么。请重新措辞,并明确说明您正试图完成的任务。感谢您的回复,我使用“范围”或自定义函数来完成此任务。。。
class Structure < ActiveRecord::Base
has_many :roles, as: :resource
end
class Association < Structure
end
def add_role role_name, resource = nil
role = Role.find_or_create_by(name: role_name.to_s,
resource_type: (resource.is_a?(Class) ? resource.to_s : resource.class.name if resource),
resource_id: (resource.id if resource && !resource.is_a?(Class)))
if !roles.include?(role)
self.roles << role
self.save
end
role
end
SELECT `roles`.* FROM `roles` WHERE `roles`.`resource_id` = 1 AND `roles`.`resource_type` = 'Structure'