form_for с возвращением JSON - PullRequest
8 голосов
/ 03 мая 2010

У меня сейчас такая форма:

<% form_for @stem, :html => {:multipart => true} do |f| %>
<%= f.file_field :sound %>
<% end %>

Это выводит (по существу):

<form method="post" id="new_stem" class="new_stem" action="/stems">
<input type="file" size="30" name="stem[sound]" id="stem_sound">
</form>

Однако я планирую использовать плагин jQuery ajaxForm здесь и хотел бы, чтобы новый стебель был возвращен в формате JSON. Я знаю, если бы действие формы было "/stems.json", это бы сработало, но есть ли параметр, который я могу вставить в вызов form_for, чтобы попросить его вернуть JSON? *

Я пытался сделать

<% form_for @stem, :html => {:multipart => true, :action => '/stems.json'} do |f| %>

но это не сработало.

Ответы [ 3 ]

14 голосов
/ 04 мая 2012

Просто укажите тип данных:

= form_for(@stemp, :remote => true, :html => {:'data-type' => 'json', :multipart => true})
11 голосов
/ 31 января 2012

даже чище:

<% form_for @stem, :html => {:multipart => true}, :url => stems_path(:format => "json") do |f| %>
  blublublub
<% end %>
2 голосов
/ 04 мая 2010
<% form_for @stem, :html => {:multipart => true}, :url => "/stems.json" do |f| %>
blublublub
<% end %>

решает проблему

...