как button_to в рельсах запрашивает ответ JSON? - PullRequest
4 голосов
/ 10 декабря 2011

Я ноль рельсов, так что терпите меня.

У меня есть следующее в 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

end

Я хочу, чтобы ответом был JSON, но код отправляется в format.html.

Как мне указать button_to, что мой запрошенный ответ - JSON?

Ответы [ 2 ]

2 голосов
/ 10 декабря 2011

Не уверен, если только один из них или оба, но попробуйте :remote => true и data-type:

<%= button_to "Create", :action => "create", :remote => true, :form => { "data-type" => "json" } %>
1 голос
/ 17 июля 2018

Использование помощника пути для построения пути работало для меня. например.

<%= button_to "Create Widgit", widgits_path(format: 'json'), remote: true %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...