【发布时间】:2015-05-05 23:54:32
【问题描述】:
我有一个表用于对书籍进行 CRUD 操作,用户也可以签入书籍(签出是由我的不同控制器完成的)
目前为 book 表签到,但我无法更新用户数据 - 他们借出多少本书的整数
这是我桌子的一部分:
<% @books.each do |book| %>
<tr>
<td><%= book.title %></td>
<td><%= book.author %></td>
<td class ="onloan"><%= book.onloan %></td>
<td><%= link_to 'show', book %> </td>
<td><%= link_to 'edit', edit_book_path(book) %></td>
<td><%= link_to 'Destroy', book, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<td><%= link_to 'Check in', check_in_path(book)%></td>
</tr>
<% end %>
我想添加的是类似
@user = User.find(params[:id])
@user.books_on_loan - 1
这是我的控制器的def签入:
def check_in
Book.find(params[:id]).update_attribute(:onloan, 0)
redirect_to root_path
end
【问题讨论】:
-
应该是
update_attribute(onloan: 0),你应该考虑可能找不到记录。 -
你的参数是什么?
标签: ruby-on-rails ruby