简单的link_to_remote函数 - 无法使其工作

时间:2010-09-20 21:35:33

标签: ruby-on-rails ajax

在使用了大量试验和错误超过一个小时以及数十个教程和博客发布示例之后,我仍然无法使用简单的ajax功能。以下是我的部分内容:

<span id="friend">
  <%= link_to_remote image_submit_tag("/images/add_as_friend.gif"), :url => {:controller => 'friends', :action => 'add', :id => id} %>
</span>

这就是我的控制器:

class FriendsController < ApplicationController
  def add
    unless params[:id].nil?
      Friend.create(:user_id => @current_user.id, :friend_id => params[:id], :friend_type => 2)
    end
  end
end

这是我的add.rjs文件中的内容:

page.replace_html 'friend', "A request to be friends with this player has been sent."

链接的图像很好。然而,当我点击它时,没有任何反应。我检查了数据库,没有任何进展。我一定错过了什么,有什么想法吗?

1 个答案:

答案 0 :(得分:1)

可能是因为您使用image_submit_tag而不是image_tag来获取链接的内容。 image_submit_tag用于提交表单,因此会有自己的onclick行为,可能会覆盖将作为link_to_remote功能的一部分添加的onclick行为。

我会尝试:

<%= link_to_remote image_tag("/images/add_as_friend.gif"), 
    :url => {:controller => 'friends', :action => 'add', :id => id} %>