我有一个页面呈现Ideas
. 每个项目旁边都有一个索赔按钮。应该发生的情况是用户单击 Claim 按钮,Idea#claim
控制器操作运行,Claim 按钮变暗。
实际发生的是……什么都没有。甚至没有 Rails 错误页面,这就是我被卡住的原因。相关片段如下:
路线.rb
resources :ideas do
collection do
post 'claim'
end
end
想法控制器#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.coffee
$ ->
$('.claim').bind 'ajax:success', ->
alert 'Ajax success!'
这绝对是我第一次尝试做这样的事情,而我的 CoffeeScript/JS 几乎不存在。任何建议或指示将不胜感激。
编辑 1:将代码从 application.js 移动到 idea.js.coffee,使用button_to
to切换表单link_to
。上面代码中显示的更改。现在,当我单击链接时,绝对没有任何反应。还是不开心!:\