Ruby on rails 添加a+;1在另一个表中计数,当另一个表创建了一个条目时
所以我有一张放书的桌子和一张放借书人的桌子。用户选择借书,然后在页面上显示借书人和借书内容 现在我的books表中还有一列是count,用来查看这本书被借了多少次 它的代码应该进入借阅控制器吗?我以前试过将其置于def create action下 执行了类似于Ruby on rails 添加a+;1在另一个表中计数,当另一个表创建了一个条目时,ruby-on-rails,view,controller,Ruby On Rails,View,Controller,所以我有一张放书的桌子和一张放借书人的桌子。用户选择借书,然后在页面上显示借书人和借书内容 现在我的books表中还有一列是count,用来查看这本书被借了多少次 它的代码应该进入借阅控制器吗?我以前试过将其置于def create action下 执行了类似于count=Book.find(params[:id])、count=params[:count]+1的操作 但是这个解决方案似乎不起作用,它甚至找不到我所说的那本书。如果您的借贷者表与books表有关联。然后,您可以在创建后在模型中添加
count=Book.find(params[:id])、count=params[:count]+1的操作
但是这个解决方案似乎不起作用,它甚至找不到我所说的那本书。如果您的借贷者表与books表有关联。然后,您可以在创建后在模型中添加回调
:增加\u count\u id
并在模型中创建方法
def increase_count_id
self.book.update_column(count: self.book.count + 1)
end
您还可以使用以下选项:
book.increment!(:count, 1)
似乎还没有达到+1,但在我写新书时产生了一个错误:未定义的局部变量或方法“增加计数”\u idI已经在模型中建立了关联,书中有burrows,burrows属于BookOK现在我在借新书时得到了:未定义的局部变量或方法“增加计数”\u id”。但是我在借用者模型中编写了回调,在借用者控制器中编写了操作,好像它没有看到我在控制器中定义了回调。它写得也很正确,不能打字。方法也应该太简单:)但为什么最后要加感叹号呢?我不明白。除此之外,这是一个更好的解决我的问题的方法!!表示更新调用对象中的更改。您可以在这里查看示例: