2011-02-04 59 views
1

我正在使用Ruby on Rails 3.我試圖使用remote_function,我想從我的幫助器而不是控制器調用一個方法。是否可以在助手文件中調用'remote_function'方法而不是使用Ruby on Rails的控制器?

所以,在我看來,文件我有:

<%= 
    f.text_field :name, :id => "name_id", 
     :onkeyup => remote_function(
     :update => "name_div", 
     :url => { :action => :method_name } 
%> 

也就是說,實際上,將調用來自控制器文件下面的方法(我正確設置路由器以及):

def method_name 
    ... 
end 

我想在我的幫助文件中移動method_name代碼,然後從助手而不是控制器調用該方法(不需要設置路由器)。 使用remote_function可以嗎?如果是這樣,該怎麼做?

回答

0

不幸的是,不可能使用remote_function直接調用幫助器方法。所有remote_function都會生成一些JavaScript,可以向客戶端發送對某個特定URL的Ajax請求。爲了使該URL起作用,必須設置路由和控制器操作來響應它。

如果您的目標是將代碼移出控制器,您可以將操作方法​​放入模塊中,並將該模塊包含在一個或多個控制器類中。但是,您仍然需要設置的路線指向每個控制器中的方法/操作。

相關問題