2012-01-27 36 views
0

在我的Rails 3应用程序我有一个简单的形式,如:Rails中的Ajax远程形式3

<%= form_tag({:controller => "activity", :action => "record"}, :method => "post", :remote => true, :class => "myform") do %> 
    <%= hidden_field_tag 'name', 'Jack' %> 
<% end %> 

我的控制器:(activity_controller.rb)

def record 
#...something 
respond_to |format| 
    format.js   # app/views/activity/record.js.erb 
end 
end 

在record.js.erb:

alert("hello"); 

当我试图与提交使用jQuery的形式,从萤火虫控制台:

$('.myform').submit(); 

表单通常会发布帖子请求,但控制器不呈现record.js。

重定向到本地主机/活动/记录。

我想我的表单有什么问题..

你能发现问题吗?

+1

你的form_tag看起来不错。但是可以肯定的是,你的布局中是否包含了rails.js库和'csrf_meta_tag'帮手?这是一个非常常见的错误,你没有提到它。 – DanneManne 2012-01-27 01:26:58

+0

固定! csrf_meta_tag是好的.. rails.js是问题。感谢Danne! – Lamp 2012-01-27 01:47:05

+0

太棒了!然后,我只需添加一个答案,以便将问题标记为已回答:) – DanneManne 2012-01-27 02:06:53

回答

0

确保您的布局中包含rails.jscsrf_meta_tag助手。这是一个非常普遍的错误。