Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 实例方法中的访问id活动记录_Ruby On Rails_Ruby_Ruby On Rails 3_Activerecord - Fatal编程技术网

Ruby on rails 实例方法中的访问id活动记录

Ruby on rails 实例方法中的访问id活动记录,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,我在访问ActiveRecord模型的ID属性时遇到一些问题。我想写一个类似的方法: class Category < ActiveRecord::Base def has_articles? return true if !Article.find_by_category_id(id).empty? return false end end 类别

我在访问ActiveRecord模型的ID属性时遇到一些问题。我想写一个类似的方法:

class Category < ActiveRecord::Base
  def has_articles?
    return true if !Article.find_by_category_id(id).empty?

    return false
  end
end
类别

但我无法访问实例的ID。当我将
attr\u accessor:id
添加到类中时,我有很多测试失败,说他们无法访问
类别。id

您应该这样写:

class Category < ActiveRecord::Base
  has_many :articles

  def has_articles?
    articles.present? # or !articles.empty? or articles.count > 0 or articles.any?
  end
end
类别0或articles.any?
结束
结束

您应该这样写:

class Category < ActiveRecord::Base
  has_many :articles

  def has_articles?
    articles.present? # or !articles.empty? or articles.count > 0 or articles.any?
  end
end
类别0或articles.any?
结束
结束
1)
id
应该就在那里2)你的意思是
find\u all\u by
(虽然这是个坏主意,因为它加载了一个数组)3)不要这样写逻辑,
empty?
已经返回了一个布尔值。4) 你应该有一个关联
has\u many:articles
1)
id
应该就在那里2)你的意思是
find\u all\u by
(虽然这是个坏主意,因为它加载了一个数组)3)不要这样写逻辑,
empty?
已经返回了一个布尔值。4) 你应该有一个协会
有很多:文章