Rails中的多个过滤器:类别和位置

时间:2015-05-10 01:30:04

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

我目前有一个应用程序,其中一个书籍条目属于一个类别,一个类别has_many书籍。样品:

Book:        Category:
Book1        Elementary
Book2        Elementary
Book3        HighSchool
Book4        College

我想建立一个新的位置模型,我可以在这里展示:一个州内的所有小学书籍,或者可以进一步下到一个城市。

这是我当前的索引控制器的样子:

def index
    if params[:category].blank?
        @book = Book.all.order("created_at DESC")
    else
        @category_id = Category.find_by(name: params[:category]).id
        @book =Book.where(category_id: @category_id).order("created_at DESC")
    end

end 

我在想做类似的事情:

def index
    if params[:category].blank?
        @book = Book.all.order("created_at DESC")
    else
        @category_id = Category.find_by(name: params[:category]).id
        @location_id = Location.find_by(name: params[:location]).id
        @book =Book.where(category_id: @category_id, location_id: @location_id).order("created_at DESC")
    end

end 

这是对的吗?

我在Rails和关系数据库方面相当新,我很难概念化它是如何工作的。如果您需要更多信息,请与我们联系。对此主题的任何帮助将受到高度赞赏。

谢谢你, 迈克B.

0 个答案:

没有答案