我有这个JQuery代码:
$("p.exclamation, div#notification_box").live("mouseover", function() {
});
我想从jQuery代码内部调用这个rails方法作为回调:
def render_read
self.user_notifications.where(:read => false).each do |n|
n.read = true
n.save
end
end
这个方法在我的用户模型中。有没有办法做到这一点?
发布于 2011-05-09 14:37:27
你有模型代码是很好的。我们需要添加一个新操作,并确保您的路由已设置。如果您正在使用资源,则必须添加集合或成员。由于您正在进行更新,因此我会选择PUT
作为http方法。
下面是一个路由示例:
resources :user_notifications do
collection do
put 'render_read'
end
end
继续并将render_read
操作添加到控制器中。
您的jQuery代码将如下所示:
$("p.exclamation, div#notification_box").live("mouseover", function() {
$.ajax({
url: "/user_notifications/render_read",
type: 'PUT'
});
});
发布于 2011-05-09 14:29:12
发布于 2013-05-30 06:31:31
通常情况下,JavaScript在客户端工作,但也有可能您的应用程序为每个客户端绘制一个javaScript函数。在这种情况下,您可以在.erb文件中使用<%=
和标记%>
:
<script type="text/javascript">
$(function(){
new AClass.function({
text: <%= Date.today %>
});
});
</script>
https://stackoverflow.com/questions/5933261
复制相似问题