Tag: 有很多

Rails:HasManyThroughAssociationNotFoundError

has_many through关联获得has_many through工作,我有问题。 我不断得到这个例外: Article.find(1).warehouses.build ActiveRecord::HasManyThroughAssociationNotFoundError: Could not find the association :entries in model Article 这些是涉及的模型: class Article < ActiveRecord::Base has_many :warehouses, :through => :entries end class Warehouse < ActiveRecord::Base has_many :articles, :through => :entries end class Entry < ActiveRecord::Base belongs_to :article belongs_to :warehouse end 这是我的模式: create_table "articles", :force => true do |t| t.string "article_nr" […]

Rails关联 – has_many =>:通过 – 但是相同的模型

我在做什么: 我有一个博客,并希望显示主帖下面的相关post。 class Post < ActiveRecord::Base has_many :related_posts has_many :posts, :through => :related_posts end 然后在连接模型/表中 class RelatedPost < ActiveRecord::Base belongs_to :post end 当然,还有一个名为related_posts的表格,带有两个post_id列。 显然这里有一些缺陷,我只是不知道如何使这种关联在Rails中工作。

validationRuby on Rails中has_many项目的数量

用户可以将标签添加到代码片段中: class Snippet < ActiveRecord::Base # Relationships has_many :taggings has_many :tags, :through => :taggings belongs_to :closing_reason end 我想validation标签的数量:至less1,至多6.我该怎么做? 谢谢。

Ruby on Rails的:多个has_many:通过可能?

是否有可能有多个has_many :through在Rails中相互传递的关系? 我收到了这样的build议,作为我发布的另一个问题的解决scheme,但一直没有得到它的工作。 朋友是通过连接表的循环关联 。 我们的目标是创build一个has_many :through为friends_comments ,所以我可以采取一个User并做一些像user.friends_comments一样查询他的朋友所做的所有评论。 class User has_many :friendships has_many :friends, :through => :friendships, :conditions => "status = #{Friendship::FULL}" has_many :comments has_many :friends_comments, :through => :friends, :source => :comments end class Friendship < ActiveRecord::Base belongs_to :user belongs_to :friend, :class_name => "User", :foreign_key => "friend_id" end 这看起来不错,有道理,但不适合我。 当我尝试访问用户的friends_comments时,这是我在相关部分中遇到的错误: ERROR: column users.user_id does not […]

如何通过Ruby on Rails中的关联来订购has_many?

鉴于以下AR模型,我想在给予任务句柄时按姓氏的字母顺序对用户进行sorting: #user has_many :assignments has_many :tasks, :through => :assignments #assignment belongs_to :task belongs_to :user #task has_many :assignments has_many :users, :through => :assignments 我想得到一个任务,然后导航到其分配的用户, 并按字母顺序sorting用户列表 。 我一直在想,我应该能够将:order子句添加到has_many :users, :through => :assignments像这样: #task.rb has_many :assignments has_many :users, :through => :assignments, :order => 'last_name, first_name' 然而这是行不通的。 在给定任务时,如何按last_namesorting用户?

在Rails的has_many关系中默认使用一个范围

假设我有以下类 class SolarSystem < ActiveRecord::Base has_many :planets end class Planet < ActiveRecord::Base scope :life_supporting, where('distance_from_sun > ?', 5).order('diameter ASC') end Planet有一个范围life_supporting和SolarSystem has_many :planets 。 我想定义我的has_many关系,这样当我为所有相关planets询问planets ,自动应用solar_system支持范围。 本质上,我想solar_system.planets == solar_system.planets.life_supporting 。 要求 我不想把scope :life_supporting在Planet上 default_scope where('distance_from_sun > ?', 5).order('diameter ASC') 我也想通过不必添加到SolarSystem来防止重复 has_many :planets, :conditions => ['distance_from_sun > ?', 5], :order => 'diameter ASC' 目标 我想有类似的东西 has_many […]

Ember js – Hasmany关系在更新其他表后中断

我正在使用本地存储适配器的Ember.js。 更新logging时我有一个奇怪的问题。 我有一个与hasMany关系的post和评论模型: App.Post = DS.Model.extend({ title: DS.attr('string'), comments: DS.hasMany('comment', { async: true }) }); App.Comment = DS.Model.extend({ message: DS.attr('string') }); 这些是我的post和评论控制器: App.PostsController = Ember.ArrayController.extend({ newTitle: '', actions: { create: function() { var title = this.get('newTitle'); var post = this.store.createRecord('post', { title: title }); this.set('newTitle', ''); post.save(); } } }); App.CommentsController = Ember.ArrayController.extend({ needs: "post", […]

Rails查找与零has_manylogging关联的logging

这似乎相当简单,但我不能让它在Google上出现。 如果我有: class City < ActiveRecord::Base has_many :photos end class Photo < ActiveRecord::Base belongs_to :city end 我想find所有没有照片的城市。 我很乐意能够打电话给… City.where( photos.empty? ) …但不存在 那么,你如何做这种查询? 更新:现在已经find了原始问题的答案,我很好奇,你如何构造反向? IE:如果我想创build这些作为示波器: scope :without_photos, includes(:photos).where( :photos => {:city_id=>nil} ) scope :with_photos, ???

Rails has_many别名

在我的用户模型中,我可以: has_many :tasks 并在我的任务模型: belongs_to :user 然后,假设外键“user_id”存储在任务表中,我可以使用: @user.tasks 我的问题是,如何声明has_many关系,以便可以将用户的任务引用为: @user.jobs … 要么 … @user.foobars 感谢一堆。

Rails Model has_many与多个foreign_keys

相对较新的轨道,并试图build模一个非常简单的家庭“树”与单人模型,有一个名称,性别,father_id和mother_id(2父母)。 下面基本上是我想要做的,但显然我不能重复:has_many中的孩子(第一个被覆盖)。 class Person < ActiveRecord::Base belongs_to :father, :class_name => 'Person' belongs_to :mother, :class_name => 'Person' has_many :children, :class_name => 'Person', :foreign_key => 'mother_id' has_many :children, :class_name => 'Person', :foreign_key => 'father_id' end 是否有一个简单的方法来使用has_many与2个外键,或者也许根据对象的性别更改外键? 还是有另外一个/更好的方法呢? 谢谢!