假设我们有一个反馈,它有一个'rank'列,用于保存投票总数。我想要一个链接的每一块反馈,将增加排名列。目前我在反馈视图中使用这个:
<%= link_to '+', action: rank_plus_one, id: feedback.id %>
和我有以下定义在FeedbacksHelper:
def rank_plus_one
feedback = Feedback.find(params[:id])
feedback.rank += 1
feedback.save
redirect_to feedbacks_path
end
我研究了一下,发现这种类型的逻辑确实应该作为控制器助手方法(如果我错了请纠正我)。然而,我已经尝试了一些不同的语法,发现似乎没有正确的工作。
您需要将feedback.id
作为参数传递给您的操作。(例如)
rank_plus_one(feedback.id)