如何强制使用formtastic形式的方法?

pup*_*eno 6 ruby-on-rails formtastic

我有类似的东西

semantic_form_for @whatever, :url => whatever_url
Run Code Online (Sandbox Code Playgroud)

从中生成一个

method="post"
Run Code Online (Sandbox Code Playgroud)

我需要它,我已经尝试过:

semantic_form_for @whatever, :url => whatever_url, :html => {:method => "put"}
Run Code Online (Sandbox Code Playgroud)

semantic_form_for @whatever, :url => whatever_url, :html => {:method => :put}
Run Code Online (Sandbox Code Playgroud)

semantic_form_for @whatever, :url => whatever_url, :html_args => {:method => :put}
Run Code Online (Sandbox Code Playgroud)

没有效果.有什么想法怎么做?

Bvu*_*Ic7 13

请参阅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 %>
Run Code Online (Sandbox Code Playgroud)


Pan*_*kos 7

它生成的表单看起来像这样吗?

<form action="..." method="POST">
...

如果是这样,那么它可能仍在创建PUT请求.Rails通过使用_method属性来确定POST,PUT或DELETE请求.验证这是否有效的最佳方法是检查日志以查看PUT请求是否正在通过.您还可以通过向表单添加隐藏属性来强制执行此操作,如下所示:

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