現在、ビュー内のボタンをクリックして、データベース内の投票の is_live 属性を切り替えようとしています。フォームとクリックは次のとおりです。これは、パラメーターで投票データを送信しません。
- current_user.polls.each do |poll|
%tr#poll.id
%td
/ Need to add (poll) as it needs the ID to match to the route.
=link_to "#{poll.title}", poll_path(poll)
%td
=link_to "Edit", edit_poll_path(poll)
%td
- if poll.is_live
= link_to "Stop"
/ , post, :method=>:toggle_live, :remote=>true, :class => 'btn btn-danger stop-poll'
- else
**= link_to "Start", polls_toggle_live_path(poll), :method => :post, :remote => true, :locals => poll, :class=> 'btn btn-success btn-small start-poll'**
PollsController でこのアクションにリンクするもの
def toggle_live
binding.pry
@poll = Poll.find(params[:id])
respond_to do |format|
**format.js {@poll.toggle_live}**
end
end
Poll モデルでこのメソッドにリンクする もの
def toggle_live
if self.is_live
self.is_live = false
else
self.is_live = true
end
end
これらすべてを使用して、クリックイベントでブール値を切り替えるにはどうすればよいですか?
現在、サーバーログから次のエラーが発生しています。
Started POST "/polls/toggle_live.30" for 127.0.0.1 at 2013-06-09 12:15:02 -0400
Processing by PollsController#toggle_live as
Completed 404 Not Found in 2447731ms