从零开始的投票系统
Voting system from scratch
我是 rails 的新人,我想为我的应用程序做一个投票系统,用户可以在其中投票给 post,我称之为 "Idee"。用户只能为 post 投票一次,而 post 只能被投票。我为我的 post 定义了一个列 "like" 并且我这样做了:
控制器
def upvote
@idee = Idee.find(params[:id])
@idee.like += 1
redirect_to :back, notice: "Thank you for voting!"
end
路线
get 'upvote' => "idees#upvote"
查看
<%= link_to "up", controller: "idees", action: "upvote", id: @idee %>
但是它不起作用,当我点击 "up" link 时,我可以从我的控制器中看到句子 "Thank you for voting!" 但没有投票。
我该怎么做才能使这项工作正常进行?
你应该像这样保存你的对象
def upvote
@idee = Idee.find(params[:id])
@idee.like += 1
@idee.save
redirect_to :back, notice: "Thank you for voting!"
end
我是 rails 的新人,我想为我的应用程序做一个投票系统,用户可以在其中投票给 post,我称之为 "Idee"。用户只能为 post 投票一次,而 post 只能被投票。我为我的 post 定义了一个列 "like" 并且我这样做了:
控制器
def upvote
@idee = Idee.find(params[:id])
@idee.like += 1
redirect_to :back, notice: "Thank you for voting!"
end
路线
get 'upvote' => "idees#upvote"
查看
<%= link_to "up", controller: "idees", action: "upvote", id: @idee %>
但是它不起作用,当我点击 "up" link 时,我可以从我的控制器中看到句子 "Thank you for voting!" 但没有投票。
我该怎么做才能使这项工作正常进行?
你应该像这样保存你的对象
def upvote
@idee = Idee.find(params[:id])
@idee.like += 1
@idee.save
redirect_to :back, notice: "Thank you for voting!"
end