Как заставить метод формировать форму? - PullRequest
6 голосов
/ 05 января 2011

У меня есть что-то вроде

semantic_form_for @whatever, :url => whatever_url

, который генерирует из с

method="post"

Мне нужно поставить, я уже пробовал:

semantic_form_for @whatever, :url => whatever_url, :html => {:method => "put"}

и

semantic_form_for @whatever, :url => whatever_url, :html => {:method => :put}

и

semantic_form_for @whatever, :url => whatever_url, :html_args => {:method => :put}

без эффекта. Есть идеи как это сделать?

Ответы [ 2 ]

13 голосов
/ 06 января 2011

См. http://www.rubydoc.info/gems/formtastic/0.9.10/Formtastic/SemanticFormHelper и попробуйте:

  <% semantic_form_for :whatever, @whatever :url => posts_path, :html => {:method => :put} do |f| %>
    ...
  <% end %>
7 голосов
/ 06 января 2011

Создает ли она форму, похожую на эту?Rails определяет запрос POST, PUT или DELETE, используя вместо этого атрибут _method.Лучший способ убедиться, что это работает, - проверить журналы, чтобы убедиться, что поступает запрос PUT.Вы также можете принудить это сделать, добавив в форму скрытый атрибут, например:

<input type="hidden" name="_method" value="put" />
...