Ruby on rails 在活动记录中有什么方法可以到达那里吗
我有一个用户模型,它有许多角色,角色有许多用户,所有这些都通过一个中间表。最后这个角色有很多/只有一个目标。我想通过用户实现目标,或者说我想做一些类似于用户有很多:目标通过:角色。当我这样做并尝试设置user.goals=Goal.all时。它给出了以下例外情况 ActiveRecord::HasmanyThroughCanAssociateThroughAsOne或AnyReflection:无法修改关联“User#goals”,因为源反射类“Goal”通过以下方式与“Account”关联:has#oneRuby on rails 在活动记录中有什么方法可以到达那里吗,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,我有一个用户模型,它有许多角色,角色有许多用户,所有这些都通过一个中间表。最后这个角色有很多/只有一个目标。我想通过用户实现目标,或者说我想做一些类似于用户有很多:目标通过:角色。当我这样做并尝试设置user.goals=Goal.all时。它给出了以下例外情况 ActiveRecord::HasmanyThroughCanAssociateThroughAsOne或AnyReflection:无法修改关联“User#goals”,因为源反射类“Goal”通过以下方式与“Account”关联:h
有没有办法做到这一点。我在RailsAPI上没有看到类似的情况。您不需要显式地设置它,您应该可以这样做
user.goals
只要您的模型中包含以下内容:
has_many :goals, :through=>:joining_table_name
你不需要显式地设置它,你应该能够做到
user.goals
只要您的模型中包含以下内容:
has_many :goals, :through=>:joining_table_name
由于您没有发布模型的详细信息,我根据错误猜测如下:
User has_one Account
User has_many Goals
Goal belongs_to User
Goal has_one Account
如果是这种情况,那么您将所有目标关联到一个用户,从而打破了此模型,因此目标应该有
多个,而不是有一个帐户,因为您没有发布模型的详细信息,我根据错误猜测如下:
User has_one Account
User has_many Goals
Goal belongs_to User
Goal has_one Account
如果是这样的话,那么通过将所有目标关联到一个用户,你就打破了这个模型,因此目标应该有has\u many
而不是has\u one
Account我想也许你需要发布更多模型的细节,比如has\u many关于目标、角色、用户的声明,会计你有没有一些没有在这里介绍的东西:我想你可能需要发布更多关于你的模型的细节,比如有很多关于目标、角色、用户、会计的声明你有没有一些没有在这里介绍的东西: