我正在创建一个图书馆管理系统,作为大学任务的一部分。 我目前仍然坚持获得采摘的结果。
我在这里尝试的任务是显示当前在表格中的书籍列表。 我主要是一名PHP程序员,所以ruby on rails对我来说是一个全新的世界。
从外部研究中我发现了关于object.pluck。
Book.pluck(:isbn,:title,:description,:author,:status)
我对上述片段的了解是,我从所有书籍对象中提取细节。 我想要做的是有一个循环,输出每本书后跟一个编辑按钮。 在PHP中,这将是for循环内部的一种形式。但是对于红宝石,我真的不知道该怎么做
在我的脑海中,我想将采摘的结果存储在一系列书籍中[]。 然后使用循环迭代该循环并输出存储在索引i的书的详细信息。 但我不知道如何存储采摘的结果?
答案 0 :(得分:2)
您可以将整个图书集合分配给变量,然后在视图中使用它:
# in controller's action (most likely index)
@books = Book.all
# in index.html.* view (haml example):
- @books.each do |book|
= link_to 'Edit book', edit_book_path(book)
确保通过the docs(非常有用)。
答案 1 :(得分:0)
您只需使用as_json
示例:
@books = Book.all.as_json(only: [:id, :isbn,:title,:description,:author,:status])
然后迭代@books
数组
即
- @books.each do |book|
= link_to 'Edit book', edit_book_path(book['id'])
OR
您可以使用map
,例如以下示例
@books = Book.all.map{ |b| {id: b.id, isbn: b.isbn, title: b.title, description: b.description, author: b.author, status: b.status}}
然后@books
将输出作为书籍数组哈希..
然后你可以像下面的代码那样迭代它
- @books.each do |book|
= link_to 'Edit book', edit_book_path(book[:id])
愿这对您有用