我的rails应用程序中有两个模型:Book和Editions。一本书可以有多个版本。
我需要得到一个特定作者写的所有"书"的"版本"。
查找指定作者的所有图书
@saved_books = Book.find :all, :conditions => ["aut_fk = ?",@aut.id ]
@saved_books包含由特定作者编写的图书数组。
我的问题是如何获得特定作者所著书籍的版本。
@editions = Edition.find(:all, :conditions => [ "book_fk IN (?)", @saved_book.id]) //this code is not correct
你试过了吗?:
@edition = Edition.where(:book_fk => @saved_book.id])
编辑@saved_book。是一个数组吗?看起来不像。如果@saved_book应该是@saved_books,那么代码将更改为:
@edition = Edition.where(:book_fk => @saved_books.map {|b| b.id}])
我想…
我正在使用下面的代码,它似乎做的工作。希望对其他人有帮助。
@edition = Edition.find(:all, :conditions => ["book_fk IN (?)", @saved_books.map{|b| b.id}])