我有类似
的东西semantic_form_for @whatever, :url => whatever_url
从
生成一个frommethod="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}
没有效果。有什么想法吗?
答案 0 :(得分: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 %>
答案 1 :(得分:7)
是否会生成一个看起来像这样的表单?
<form action="..." method="POST"> ...
如果是这样,那么它可能仍在创建PUT请求。 Rails通过使用_method属性来确定POST,PUT或DELETE请求。验证这是否有效的最佳方法是检查日志以查看PUT请求是否正在通过。您还可以通过向表单添加隐藏属性来强制执行此操作:
<input type="hidden" name="_method" value="put" />