我正在實施一個簡單的投票系統,並通過點擊按鈕添加+1。例如,如果一個問題有5票,它會增加。我已經寫過這個方法了,但是我不知道如何通過點擊link_to來執行它。我需要重新配置我的路線嗎?Rails 4使用link_to或button_to來運行方法?
questions_controller.rb
def self.ping
@question = Question.find(params[:id])
@question.increment!(:amplify)
render_to do |format|
if @question.save
format.html { redirect_to @question }
end
end
end
的routes.rb
resources :questions
post '/ping' => 'questions#ping', as: 'ping'
我應該發佈我的觀點:'<%= link_to question.amplify,問題。ping%>' 'question'已經被定義並且ping方法被調用,但是根本沒有任何事情發生。 如果我在視圖中添加'<%question.increment!(:amplify)%>',它也可以正常工作。 – user3048402
@ user3048402改爲嘗試使用'<%= link_to question.amplify,ping_path(問題)%>'。 – jvperrin