2011-05-05 30 views
0

我有一个简单的ruby on rails项目,我试图用一个简单的jquery帖子和,以及我卡住了。我想我预计这会像ASP.NET MVC一样工作,但它不是。jQuery的Ajax调用红宝石控制器

以下是我在控制器

def followers(username) 
    return username 
end 

在我.erb文件我有调用方法

$.post("home/followers", { username: $("#txtUsername").val() }, 
    function(data) { 
     alert(data); 
    }); 

而我得到的回复是告诉我一个错误:错误的参数数量(0为1)

所以我尝试追加参数到查询字符串,如...

$.post("home/followers?username=burkeholland", 
     function(data) { 
      alert(data); 
     }); 

这对于某人来说应该很容易。你会相信我无法通过Google找到任何关于此的信息吗?网上有很多Ruby on Rails的例子。或者,也许我只是从ASP.NET中被宠坏了。

回答

2
def followers 
render :text => params[:username] 
end 

所有邮政局/获取参数在params哈希会自动给你。您不应该向该方法声明任何参数。

编辑:忘了渲染响应,而不是返回的......

+0

万分感谢!我现在要写博客,所以不难弄明白。看 - 简单点! – 2011-05-05 21:56:01

2

方法在控制器无法除了参数。参数可以通过名为'params'的方法获得。在处理请求之后,您必须使用'render'方法将响应发送回浏览器。如:

def followers 
    render :text => params[:username] 
end