Tag: model associations

如何将关联加载到实例变量?

在模型中我有: class CalendarItem < Resource belongs_to :schedule has_many :people has_many :documents acts_as_list scope: :schedule, column: :visual_position validates :schedule, :title, presence: true end 然后在控制器中: class ScheduleController < ApplicationController def show @calendar_items = CalendarItem.where(schedule: @schedule).includes(:people, :documents) end … end 在视图中,我正在使用react-rails渲染react_component(但这应该有所不同): = react_component(‘CalendarItemsList’, calendar_items: @calendar_items) 但是它不会将关联数据传递给视图(react_component),只传递主模型。 我以前经历过这种情况,没有反应前端,也没有用。 可能有什么不对?

belongs_to belongs_to association only only has_many或has_one

你能在Rails中拥有belongs_to belongs_to关系吗? 搜索 结果给了我两个结果。 事实上我找不到关于这个主题的非常多的信息,这似乎表明它不应该被做或者是不好的做法。 我昨天问了一个关于a_many关系的问题,但是因为我找不到相关的信息,我会生成一个问题,以便人们在将来更容易搜索这个问题。 我正在解释另一个用户的答案(我希望这没关系)。 鞋子可以有很多袜子,但只有一个活跃的袜子。 其他袜子不活跃。 所有袜子都是独一无二的独特图案。 我想确保我没有相同图案的袜子。 我想我可以这三种方式做到这一点 class Sock < ActiveRecord::Base belongs_to :shoe end 要确定袜子是活动还是非活动,请给它的’所有者鞋提供对其活动袜子的引用,如下所示: class Shoe < ActiveRecord::Base belongs_to :sock end 去它的主人Shoe并检查Shoe的活动袜子是否是当前的袜子。 例如 def is_active owner_shoe.active_sock == self 将它们与外键相关联 class CreateGettingDressed < ActiveRecord::Migration def change create_table :shoes do |t| t.belongs_to :active_sock, foreign_key: "sock_id" t.string :size t.timestamps null: false end […]

将复杂的has_many关系移植到Rails> 4.1(没有finder_sql)

我正在将Rails应用程序移植到Rails 4.2。 这个Rails应用程序在关联中包含一些相当复杂的手动SQL代码 – 部分原因是DB优化(例如子选择而不是JOIN),部分原因是由于在编写时没有可行的替代方案(Rails 3.0),部分原因是由于缺乏知识(我希望,至少 – 这很容易解决)。 示例:InternalMessage类。 可以在用户之间发送消息(InternalMessage的收件人和消息的“删除”,存储在InternalMessagesRecipients中,因为可以有几个),并且可以读取,回复,转发和删除它们。 该关联看起来像这样: class User “SELECT DISTINCT(internal_messages.id), internal_messages.* FROM internal_messages ” + ‘ LEFT JOIN internal_messages_recipients ON internal_messages.id=internal_messages_recipients.internal_message_id’ + ‘ WHERE internal_messages.sender_id = #{id} OR internal_messages_recipients.recipient_id = #{id}’, :counter_sql => ‘SELECT count(DISTINCT(internal_messages.id)) FROM internal_messages ‘ + ‘ LEFT JOIN internal_messages_recipients ON internal_messages.id=internal_messages_recipients.internal_message_id’ + ‘ WHERE internal_messages.sender_id = […]

Rails模型,属于很多

我很难弄清楚如何将我的一个模型与另一个模型联系起来。 就像现在一样,我有: class ModelA < ActiveRecord::Base has_many :model_b end class ModelB < ActiveRecord::Base belongs_to :model_a end 但是…… ModelB不仅需要属于ModelA的一个实例,而且可能属于三个。 我知道有一个has_many:through,但我不确定它在这种情况下会如何起作用。 ModelA的每个实例总是会有三个ModelB实例。 但如前所述,ModelB不仅仅属于ModelA的一个实例。

类别,子类别和律师之间的关联

我有很多律师,类别和子类别。 提示 (如果我的协会合适 ,你可以有一个线索) 在类别表上,我不希望在类别表上看到引用子类别的列。 在子类别表上,我不希望在Subcategories表上看到引用类别的列。 并非所有类别都有子类别。 即一些没有图中所示的子类别。 我有2个单独的表单创建类别和子类别。 我将category_id和subcategory_id作为外键添加到我的律师表中。 这样我就可以在创建时选择律师forms,律师将在图像中尽快选择类别或子类别。 另请注意:对于没有子类别的类别,可以在任何时间,任何一天创建子类别,以及已经具有某些子类别的类别下的新子类别,并且律师将被置于其下。 图像是我目前正在进行的索引/主页的复制品,至少在上面的第6个上面任何时候生效,我希望使用循环来实现这个视图。 图解理解我想要做的事情: 这是我在3个模型之间的关系 class Lawyer < ActiveRecord::Base belongs_to :category belongs_to :subcategory end class Category < ActiveRecord::Base has_many :lawyers end class Subcategory < ActiveRecord::Base #belongs_to :category #Do I want "category_id" in Subcategories Table? has_many :lawyers end 题 我在这3个型号上的关联是否适合我提供的提示? 这非常令人困惑。