对于范围轨道4.2.5,#<article:0x0000000ccab870>的未定义方法`sranje'

时间:2016-03-03 12:19:13

标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-4.2

那么我该如何解决这个问题...

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)... 那么如何让它适用于应用程序,我在哪里链接范围?? ...

2 个答案:

答案 0 :(得分:0)

你不能用像

这样的变量调用范围
from PIL import ImageFont
font = ImageFont.truetype('times.ttf', 12)
size = font.getsize('Hello world')
print(size)

如果你想这样做,那就加入你的班级

@article.sranje

答案 1 :(得分:0)

问题解决了它自己,不知道如何..在文章控制器中创建动作我改变了&#34; redirect_to ...&#34;在views / articles / index中,我使用Article.sranje.each迭代.... 在我问这里寻求帮助之前,我试过了大约10次,但11次是魅力:) 谢谢你试图帮助...

如果重要的话,我还清理了缓存......