代码之家  ›  专栏  ›  技术社区  ›  PeterWong

关联逻辑

  •  0
  • PeterWong  · 技术社区  · 14 年前

    class BookShelf {
      has_many :books
    }
    
    class Book {
      has_many :pages
      belongs_to :book_shelf
    }
    
    class Page {
      belongs_to :book
    }
    

    如果我有一个BookShelf对象,如何使用searchlogic来搜索属于当前书架中书籍的页面?

    @bookshelf = BookShelf.find 1
    @pages = Page.title_like("something").book_id_equals(@bookshelf.books.map { |book| book.id }).paginate :page => params[:page]
    

    所以分页部分只是使用了will\ u paginate,其实并不相关。

    1 回复  |  直到 14 年前
        1
  •  1
  •   theTRON    14 年前

    这样就可以了,并且不需要将所有图书ID映射到一个数组中:

    Page.title_like("something").book_bookshelf_id_equals(@bookshelf.id).paginate(:page => params[:page])
    

    Suburb.name_like("east").region_state_name_like("vi").paginate(:page => 3)
    

    这似乎起到了作用。