我是Javascript,JQuery的新手,在较小程度上是Rails。我试图在我现有的Rails应用程序中添加一些交互式行为,但现在我只是试图让它呈现以下测试:
myteams.js.erb:
page.alert('Hi')
我的控制器包括以下内容:
def myteams
if (params[:command] == "accept")
invite = TeamUser.find(params[:id])
invite.confirmed = true
invite.save
end
if (params[:command] == "delete")
invite = TeamUser.find(params[:id])
invite.destroy
@teams = current_user.teams
end
respond_to do |format|
format.html
format.js
format.json { head :ok }
end
end
调用myteams.html.erb中代码的链接:
<%=link_to image_tag("delete.png"), {:controller => "teams", :action => "myteams", :id => teamAssociation.id, :command => "delete"}, :class => "deleteTeam", :remote => :true %>
我的application.js包括:
jQuery.ajaxSetup({ 'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")} })
当我点击链接时,团队将从数据库中删除,但屏幕上没有任何反应 - 没有重新加载,没有警报提示。我在application.html.erb中加载jQuery文件。我不知道为什么这个简单的测试不起作用。请提前帮助并表示感谢!
答案 0 :(得分:2)
:remote => :true
应为:remote => true
。
顺便说一下,你最好将你的行动分成两部分。
答案 1 :(得分:2)
尝试简单地做
alert('Hi')
myteams.js.erb