【发布时间】:2016-03-04 01:21:39
【问题描述】:
那么我该如何解决这个问题...
class Article < ActiveRecord::Base
belongs_to :user
has_and_belongs_to_many :tags, -> {order :name}
validates :title, presence: true, length: {minimum: 4}
validates :body, presence: true, length: {minimum: 4}
accepts_nested_attributes_for :tags
scope :sranje, -> { where('published_at <= ?', Time.current) }
def self.articles_order
self.all.order('published_at DESC')
end
# def self.sranje
# self.where('published_at <= ?', Time.current)
# end
end
现在,当我调用范围时,我得到了错误 #
的未定义方法“sranje”当我在控制台中尝试范围时,它可以工作,即 (user.artilces.sranje) ... 那么如何使它适用于应用程序,我在哪里链接范围??...
【问题讨论】:
-
页面上怎么称呼?
-
是的,我尝试在控制器上进行链接,没有成功..它不应该显示将要发布的文章..
-
@GokuSan - 你必须在
Article.sranje这样的类上调用它。而不是在像@article.sranje这样的实例上调用它 -
@VenkatCh donno 范围不应显示将要发布的文章,而在控制台中它就是这样做的..
-
@GokuSan - 所以,请尝试像在控制台中那样使用,而不是在实例上调用范围方法。 (您的问题标题只是说,您尝试在 Article 实例上调用范围方法,这是不正确的。
标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-4.2