我是 ruby on rails 的新手,并且打算使用应用程序中已经存在的一些代码。
代码如下(书籍):-
def index
@books = Book
@books = @books.select("books.*,
(select count(*) from book_issues where books.id = book_issues.book_id and book_issues.return_date is null) as issued_cnt,
(select count(*) from book_holds where books.id = book_holds.book_id) as hold_cnt")
@books = @books.joins("inner join book_issues on book_issues.book_id = books.id")
@books = @books.where('book_issues.return_date is null')
@books = @books.group('books.id')
@books.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @books }
end
end
我发现这有点难以理解。为什么要使用此代码以及为什么不使用以下代码:-
def index
if params[:book_id]
@book = Book.find(:all,
:conditions => ["book_id = ? ", params[:book_id] ],
:order => "action_date ASC")
end
end
有人可以帮我解决这个问题。