过滤和链接它们

时间:2013-06-03 20:22:23

标签: ruby-on-rails model

我有两个过滤器可以检查我的Rails模型名为Items。如果两个过滤器都已启用,即:传递某些参数,然后根据第一个过滤掉项目,然后使用第一个过滤器的结果作为从第二个过滤器的基础。但它不喜欢我在@items的实例变量上调用。在哪里传递给我的视图?有什么想法吗?

错误是:     对于#

,未定义的方法`where'

代码:

@coasters = Coaster.all

    if params[:type]
      type = params[:type]
      if type == 'powered'
        @coasters = @coasters.where("style = ?", "powered")
      else
        @coasters = @coasters.where("material LIKE ?", params[:type])
      end
    end

    if params[:letters]
      letters = params[:letters]
      if letters == '#'
        @coasters = @coasters.all.select { |r| /^[0-9].*/ =~ r.name }
      else
        letters = letters.split('-')
        lettersLower = (letters[0]..letters[1]).to_a
        lettersUpper = (letters[0].upcase..letters[1].upcase).to_a
        letters = lettersLower.concat(lettersUpper)
        conditions = (letters.map{ |letter| " name ILIKE '#{letter}%' " }.join('OR'))
        @coasters = @coasters.where(conditions)
      end
    end

0 个答案:

没有答案