我想單擊頁面上的div來運行一定數量的javascript任務,但也要在控制器上運行一個操作。爲了更詳細地解釋:Jquery&Rails 3:從js文件運行控制器操作?
我有我已經放了一堆的jQuery的代碼untitled.js文件:
$(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_tasks」的控制器動作「用戶「控制器,當點擊#notify按鈕時,以及顯示通知類。正如你在上面的代碼中看到的那樣,我有jquery代碼來顯示.notifications,但是我不知道該如何放置「(某些代碼來運行控制器操作)」。爲了提供有關控制器操作的信息,它只會運行我想運行的一些任務,它不會重定向到新頁面或任何其他任務。下面是用戶控制的基本格式:
class UsersController < ApplicationController
....
def run_tasks
end
end
就是我試圖做的可能,如果是什麼jQuery代碼做我把在那裏?我使用Rails 3.0.9和最新的jQuery。
我還會考慮使用代替硬編碼URL的塊。像<%= url_for(:action =>'run_tasks',:controller =>'users'%>(對不起,沒有一個例子在我面前)。這將允許你移動應用程序而不必修改 – Tom
有趣 - 不應該使用'/ users/run_tasks'路由到相同的控制器/動作,而不管應用程序的位置(本地主機還是在線)?另外,你的代碼也可以工作,除非它失敗,因爲控制器把run_tasks作爲一個變量,它應該讀取一個用戶id,而不是一個控制器動作的引用。爲什麼這是? – jay
- 找出了使用你的代碼的替代解決方案。感謝所有的幫助! – jay