首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在jQuery中调用rails方法

如何在jQuery中调用rails方法
EN

Stack Overflow用户
提问于 2011-05-09 14:21:51
回答 3查看 26.6K关注 0票数 21

我有这个JQuery代码:

代码语言:javascript
复制
$("p.exclamation, div#notification_box").live("mouseover", function() {

    });

我想从jQuery代码内部调用这个rails方法作为回调:

代码语言:javascript
复制
def render_read
  self.user_notifications.where(:read => false).each do |n|
    n.read = true
    n.save
  end
end

这个方法在我的用户模型中。有没有办法做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2011-05-09 14:37:27

你有模型代码是很好的。我们需要添加一个新操作,并确保您的路由已设置。如果您正在使用资源,则必须添加集合或成员。由于您正在进行更新,因此我会选择PUT作为http方法。

下面是一个路由示例:

代码语言:javascript
复制
resources :user_notifications do
  collection do
    put 'render_read'
  end
end

继续并将render_read操作添加到控制器中。

您的jQuery代码将如下所示:

代码语言:javascript
复制
$("p.exclamation, div#notification_box").live("mouseover", function() {   
  $.ajax({
    url: "/user_notifications/render_read",
    type: 'PUT'
  });
});
票数 4
EN

Stack Overflow用户

发布于 2011-05-09 14:29:12

您需要在服务器端设置一个控制器来调用render_read方法,然后可以在jQuery中使用$.ajax$.post发出请求。

票数 1
EN

Stack Overflow用户

发布于 2013-05-30 06:31:31

通常情况下,JavaScript在客户端工作,但也有可能您的应用程序为每个客户端绘制一个javaScript函数。在这种情况下,您可以在.erb文件中使用<%=和标记%>

代码语言:javascript
复制
<script type="text/javascript">
$(function(){
    new AClass.function({
        text: <%= Date.today %>
    });
});
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5933261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档