2010-04-07 179 views
1

在我的index.html.erb如何将JavaScript变量传递给Rails控制器?

<script type= "text/javascript"> 
    var msg = "Hello World" ; 
</script> 

我需要通过这个变种味精对我说控制器get_variable()方法在我的岗位控制器。

编辑:得到同样的index.html.erb红宝石变量 由于JavaScript变量味精提前

+0

你知道AJAX?如果没有,开始阅读它。 – deceze 2010-04-07 11:54:11

+0

是的,我确实知道,如果你知道的话,你可以让我知道解决这个问题吗? – 2010-04-07 11:56:07

+0

你有没有尝试通过AJAX发送变量到'/ posts/get_variable' ...? – deceze 2010-04-07 11:57:42

回答

3

试试这个

<%= link_to_remote, 'Message', :url=>{:controller=>'controller_name', :action=>'method_name'}, :with=> "'msg='+msg" %> 

controller_name.rb

def method_name 
    @message= params[:msg] 
    puts @message # >> should be print "Hello World" 

end 

EDITED

<%= link_to_remote, 'Message', :url=>{:controller=>'controller_name', :action=>'method_name'}, :with=> "'msg='+msg" %> 
<div id ='show_message'></div> 

controller_name.rb

def method_name 
    @message= params[:msg] 
    render :update do|page| 
    page.replace_html 'show_message', @message 
    end 
end 
+0

Salil,它确实工作,但有办法在相同的页面显示变量,而不是link_to_remote – 2010-04-07 12:26:50

+0

请检查我编辑的答案。 – Salil 2010-04-07 12:36:20

+0

我需要没有link_to_remote不是一个evented动作来显示内容。 – 2010-04-07 12:46:32

相关问题