rails中的模型更新方法

ska*_*gor 2 database model ruby-on-rails

例如,我有一个表'post'和列'views'.当人们每次查看帖子时,会添加"视图"1.现在我的步骤是

@post = Post.find_by_id(params[:id])
@post.views += 1
@post.save
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来添加"观点"?

khe*_*lll 5

使用increment方法:

@post.increment!(:views)
Run Code Online (Sandbox Code Playgroud)

你可以缩短它

Post.find(params[:id]).try(:increment!,:views)
Run Code Online (Sandbox Code Playgroud)

请注意,使用try方法会导致id可能不存在的帖子记录.