草庐IT

ruby-on-rails - 相同 2 个模型之间的多个 has_many/belongs_to

我很好奇这是如何工作的...我在相同的两个模型之间有几个has_many关系。这是一个日历应用程序,因此可以邀请用户参加事件,用户可以参加事件,并且事件属于用户,以便查看谁创建了事件。用户.rbclassUser{wherecancel:false},dependent::destroyhas_many:events,->{where"attendances.cancel"=>false},through::attendances事件.rbclassEvent{wherecancel:false},dependent::destroyhas_many:users,->{where"at

ruby-on-rails - 多个 belongs_to 连接到同一个表(在 Rails 4.2 中,以干净的方式执行此操作的能力是否发生了变化?)

在Rails4.2中使用最新的连接方式和where子句,似乎没有一种干净的方式(使用符号......或者只是不使用字符串SQL)从单个查询连接到同一个表。例如,我们有一个用户模型,它有一个家庭地址和工作地址的引用。如果我们想要获取在印第安纳波利斯生活和工作的所有用户,构建此查询的最佳方式是什么?理想的选择是这样的:User.joins(:home_address).join(:work_address).where(home_address:{city:'Indianapolis'}).where(work_address:{city:'Indianapolis'}).count但是,

ruby-on-rails - Rails has_many 没有 belongs_to

我正在使用Rails4并尝试实现一个Notif模型,该模型应该有一组已经看到它的用户。我的想法是使用has_many关系(notifhas_many:users),我将看到通知的用户添加到users。我遇到的当前问题是我无法调用@notif.users因为它声明columnusers.notif_iddoesnotexist因为我没有使用属于。一种解决方案是使用多对多关系;但是,我想避免为每个查看通知的用户创建单独的关联(试图节省数据库空间)。有没有一种方法可以在没有has_many关系的情况下有效地拥有users字段?我想我只是想在我的notif模型中存储一组用户ID。

ruby-on-rails - Rails 3.1 - has_and_belongs_to_many 已弃用?

我目前有一个应用程序Rails3.0.9,具有非常简单的多对多关系:classUser"users_stores"end我到处都弹出以下警告:弃用警告:在has_and_belongs_to_many关联的连接表上添加附加属性已弃用,并将在Rails3.1中删除。请改用has_many:through关联。问题是,我在连接表上没有任何额外的属性:sqlite>.schemausers_storesCREATETABLE"users_stores"("user_id"integer,"store_id"integer);has_and_belongs_to_many是否在Rails3.1

ruby-on-rails - 在第一个模型中使用 belongs_to 关联的范围 - Ruby on Rails

问题假设我有两个具有has_many-belongs_to关系的模型。has_many定义了一个范围和一个名为grade的整数属性。classParent(min_grade){where("grade>:grade",grade:min_grade)}endclassChild我想在子模型上创建一个范围,它使用父模型的范围。无论如何,我可以在Parent上使用范围定义吗?当前解决方案我现在的做法是classChild(min_grade){join(:parent).where("grade>:grade",grade:min_grade)}end但是,我在两个地方都复制了where

ruby-on-rails - 如何为 ActiveRecord belongs_to 关联声明可选条件?

RailsActiveRecord为belongs_to提供了一个optional选项。考虑允许外键为null并允许关联在对象创建期间为null但在后续保存期间需要它存在的用例。例如,新成员可能没有初始组,但成员的任何进一步更新都需要组关联。optional选项值本身可以是有条件的吗?例如,classMember{new_record?}end与optional:true的行为相同,我们可以推断optional选项解析仅检查真值。自定义验证器是满足此用例的实用方法吗? 最佳答案 似乎向optional选项提供lambda不起作用(虽

ruby-on-rails - ror - 在 has_many 和 belongs_to 的两端包含外键?

我继承的代码有:classGraphic'asset_id',:conditions=>'asset_type_id=5',:order=>'created_at',:dependent=>:destroyclassComment:asset_id在我看来,has_many不应该有foreign_key(它在belongs_to中被引用,我相信)但我不确定,你知道吗?即应该是classGraphic'asset_type_id=5',:order=>'created_at',:dependent=>:destroyclassComment:asset_id

ruby - DataMapper - 为什么是 "has"和 "belongs_to"?

我刚刚开始使用DataMapper,我想弄清楚为什么您需要指定has和belongs_to。例如,查看DataMapper网站上的示例。这不是多余的吗?如果帖子有n个评论,那么Comment不会自动belongs_to帖子吗?为什么我必须指定这个?classPostincludeDataMapper::Resourceproperty:id,Serialhasn,:commentsendclassCommentincludeDataMapper::Resourceproperty:id,Serialproperty:rating,Integerbelongs_to:post#defau

ruby-on-rails - belongs_to touch : true not fired on association. 构建和嵌套属性赋值

在OpenProject应用我们有两种模型:CustomFieldclassCustomField{order(position::asc)},dependent::delete_allaccepts_nested_attributes_for:custom_options...endCustomOptionclassCustomOption然后在customfieldcontroller我们通过批量分配修改自定义字段的选项并保存记录:@custom_field.attributes=get_custom_field_paramsif@custom_field.save...因为tou

ruby-on-rails - 外键 (class_id) 未填充在 belongs_to 关联中

我是Rails的新手,正在rails3(beta4)上构建一个小型测试应用程序。我正在使用Authlogic来管理用户session(以标准方式设置为perthistutorial)我搭建并设置了一个卡片模型(基本上是一篇文章),并为belongs_to和has_many关系设置了基本的事件记录关联用户.rbhas_many:cardscard.rbbelongs_to:user我将我的外键列添加到我的卡片表:user_id,默认为1一切正常。我完成了我的观点,我可以看到关联,卡片可以属于不同的用户,这一切都很棒。但是创建新卡的时候好像抓不到当前活跃用户cards_controller