rails中的button_to如何请求JSON响应?

时间:2011-12-10 16:48:03

标签: ruby-on-rails-3.1

我是铁路菜鸟,所以请耐心等待。

我在new.html.erb中有以下内容:

<h1>New page</h1>

<%= render 'pages/form' %>

<% if @page != 1 %>
<%= button_to 'New Page', pages_path %>
<%= button_to 'Done!', :action=> 'generate' %>

<% end %>

我的控制器看起来像这样

def generate
@presentation = current_presentation
respond_to do |format|
format.json { render json: @presentation.pages}
format.html {render :text => "html"}
end

我希望响应是JSON,但代码转到format.html。

如何指示button_to我请求的响应是JSON?

2 个答案:

答案 0 :(得分:2)

不确定是否只有其中一个或两者,但请尝试:remote => truedata-type

<%= button_to "Create", :action => "create", :remote => true, :form => { "data-type" => "json" } %>

答案 1 :(得分:0)

使用路径助手来构建对我有用的路径。例如。

<input type="hidden" name="_token" value="<?php echo csrf_token() ?>">