のリストをレンダリングするページがありますIdeas
。各アイテムの横に [請求] ボタンがあります。ユーザーが[Claim] ボタンをクリックすると、コントローラーIdea#claim
アクションが実行され、[Claim] ボタンが暗くなります。
実際に起こることは... 何もありません。Rails のエラー ページすら表示されないため、行き詰っています。関連するスニペットは次のとおりです。
ルート.rb
resources :ideas do
collection do
post 'claim'
end
end
idea_controller#claim
def claim
@idea = Idea.find(params[:idea_id])
current_user.claim(@idea)
respond_to do |format|
format.js { render :nothing => true }
end
end
_idea.html.erb パーシャル
<span class="idea-actions" id=<%="idea"+idea.id.to_s%>>
<%= link_to "Claim", {method: "post", action: "claim", idea_id: idea.id}, {class: 'claim', remote: true} %>
</span>
アイデア.js.コーヒー
$ ->
$('.claim').bind 'ajax:success', ->
alert 'Ajax success!'
このようなことを試みるのはこれが初めてであり、私の CoffeeScript/JS は事実上存在しません。アドバイスや指針をいただければ幸いです。
編集 1:コードを application.js から idea.js.coffee に移動し、 to を使用button_to
してフォームを切り替えましたlink_to
。上記のコードに示されている変更。現在、リンクをクリックしても何も起こりません。まだ喜びはありません!:\