jay*_*jay 1 jquery routing controller ruby-on-rails ruby-on-rails-3
我想点击页面上的div来运行一定数量的javascript任务,还要在控制器上运行一个动作.更详细地解释:
我有一个untitled.js文件,其中我放了一堆jquery代码:
$(function(){
$('nav li').hover(function(){
$(this).addClass("bigger", 50);
}, function(){
$(this).removeClass("bigger", 50);
});
$('#notify').click(function(){
$('.notifications').show();
});
$('#notify').click(function(){
(some code to run a controller action)
});
});
Run Code Online (Sandbox Code Playgroud)
我想在单击#notify按钮时在"Users"控制器上运行一个名为"run_tasks"的控制器操作,并显示一个通知类.正如你在上面的代码中看到的那样,我有jquery代码用于显示.notifications,但我不知道该放什么"(某些代码来运行一个控制器动作)".要提供有关控制器操作的信息,它将只运行一些我想要运行的任务,它不会重定向到新页面或任何内容.以下是用户控制器的基本格式:
class UsersController < ApplicationController
....
def run_tasks
end
end
Run Code Online (Sandbox Code Playgroud)
我正在尝试做什么,如果是的话,我在那里放了什么jquery代码?我正在使用Rails 3.0.9和最新的jquery.
只要你有一个控制器动作的路径,你可以通过简单地用jQuery的$ .get()向它发出一个ajax请求来使它运行.
$('#notify').click(function(){
$('.notifications').show();
$.get('/users/run_tasks');
});
Run Code Online (Sandbox Code Playgroud)
也没有必要做两个$('#notify').click(),你可以将两个语句放在一个块中(正如我在上面的代码片段中所做的那样).
请注意,在这种情况下,.get()只需要在服务器上调用控制器操作的请求并忽略结果,但您也可以使用它来处理控制器返回的数据.请参阅上面的doc链接.
| 归档时间: |
|
| 查看次数: |
3593 次 |
| 最近记录: |