假设我有以下两个对象:
first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation
last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation
Run Code Online (Sandbox Code Playgroud)
是否有可能将两个关系结合起来产生一个ActiveRecord::Relation包含两个条件的对象?
注意:我知道我可以链接这些行为来获得这种行为,我真正感兴趣的是我有两个独立的ActiveRecord::Relation对象.
我在没有rails的ruby项目中使用ActiveRecord.我需要为表定义复合主键.通常,迁移会自动创建主键.是否可以使用活动记录为表定义自己的复合主键?
我有一个团队模型和一个夹具模型.Fixtures模型有一个客队和一个主队.我按照这个答案的例子,让大多数事情都有效.
class Fixture < ActiveRecord::Base
belongs_to :home, class_name: 'Team'
belongs_to :away, class_name: 'Team'
end
class Team < ActiveRecord::Base
has_many :home_games, :class_name => 'Fixture', :foreign_key => 'home_id'
has_many :away_games, :class_name => 'Fixture', :foreign_key => 'away_id'
end
Run Code Online (Sandbox Code Playgroud)
我希望能够打电话给@ team.fixtures获取所有球队赛程的列表,目前@ team.home_games给了我主场赛程,@ team.away_games让我离开.我怎么能写一个has_many :games类似的has_many :home_games,并且这是最好的方法吗?
在Rails应用程序中,我希望允许用户将消息从一个发送到另一个.所以,我有一个用户模型将具有:
has_many :messages
Run Code Online (Sandbox Code Playgroud)
我在想这个Message模型将有一个from字段,包含发送它to的用户的id ,以及一个字段,其中包含要发送给它的用户的用户ID.Messsage模型的最佳实践是什么?我应该像这样生成它:
rails g model Message from:integer to:integer title:string content:text
我如何将其与用户相关联?我应该将它与2个用户关联,因为from和to字段引用现有用户吗?我怎么代表这种关系?我会在消息模型中写什么样的关系?belongs_to :user?
我觉得应该有一种方法让Rails为我管理用户ID,这样我就不必自己创建整数字段了.