我正在使用Rails4并尝试实现一个Notif模型,该模型应该有一组已经看到它的用户。我的想法是使用has_many关系(notifhas_many:users),我将看到通知的用户添加到users。我遇到的当前问题是我无法调用@notif.users因为它声明columnusers.notif_iddoesnotexist因为我没有使用属于。一种解决方案是使用多对多关系;但是,我想避免为每个查看通知的用户创建单独的关联(试图节省数据库空间)。有没有一种方法可以在没有has_many关系的情况下有效地拥有users字段?我想我只是想在我的notif模型中存储一组用户ID。
我目前有一个应用程序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
问题假设我有两个具有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
RailsActiveRecord为belongs_to提供了一个optional选项。考虑允许外键为null并允许关联在对象创建期间为null但在后续保存期间需要它存在的用例。例如,新成员可能没有初始组,但成员的任何进一步更新都需要组关联。optional选项值本身可以是有条件的吗?例如,classMember{new_record?}end与optional:true的行为相同,我们可以推断optional选项解析仅检查真值。自定义验证器是满足此用例的实用方法吗? 最佳答案 似乎向optional选项提供lambda不起作用(虽
我继承的代码有: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
我刚刚开始使用DataMapper,我想弄清楚为什么您需要指定has和belongs_to。例如,查看DataMapper网站上的示例。这不是多余的吗?如果帖子有n个评论,那么Comment不会自动belongs_to帖子吗?为什么我必须指定这个?classPostincludeDataMapper::Resourceproperty:id,Serialhasn,:commentsendclassCommentincludeDataMapper::Resourceproperty:id,Serialproperty:rating,Integerbelongs_to:post#defau
在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
我是Rails的新手,正在rails3(beta4)上构建一个小型测试应用程序。我正在使用Authlogic来管理用户session(以标准方式设置为perthistutorial)我搭建并设置了一个卡片模型(基本上是一篇文章),并为belongs_to和has_many关系设置了基本的事件记录关联用户.rbhas_many:cardscard.rbbelongs_to:user我将我的外键列添加到我的卡片表:user_id,默认为1一切正常。我完成了我的观点,我可以看到关联,卡片可以属于不同的用户,这一切都很棒。但是创建新卡的时候好像抓不到当前活跃用户cards_controller
如何在.yml中为has_many和belongs_to变量创建示例数据。这是将这些文件添加到终端中一个简单的railsnewlab命令的示例。我真的不知道如何用英语解释这个。但我希望我的代码能够显示足够的细节来说明这一点。人.rbclassManitem.rbclassItem男人.ymlone:name:ManOne#items:one,twotwo:name:ManTwo#items:one,two项目.ymlone:name:ItemOnetwo:name:ItemTwoman_test.rbrequire'test_helper'classManTest
我试图让mongoid保存关联,但我只能让一侧工作。如果我有以下测试。test"shouldaddauserasafollowerwhenauserfollowsthegroup"do@cali_group.followers=[]@user1.followed_groups这是失败的,因为@cali_group.followers是[]。我已经用这个工作了一段时间,试过@cali_group.reload.但看起来在我的代码中执行此操作的唯一方法是处理连接的两端,即@cali_group.followers.如果需要,我可以在我的代码中这样做。polco_group和用户的模型在这里