我有一个活动模型模型,我想将它与 form_for 一起使用。
form_for(@item, url: (params[:action] == 'edit' ? api_item_path(datasheet_id: params[:datasheet_id], item_id: params[:item_id]) : api_items_path), html: {method: (params[:action] == 'edit' ? 'patch' : 'post')}) do |f|
我以这种方式选择 url,因为命名路径前面有“api_”。(这可能有一个很好的方法,但我希望这不是我的问题的一部分)。
问题是带有方法键的 html 选项不会影响表单的方法(始终是“发布”)。
模型 response_to? :persisted?,所以 ActionView 正确命名了表单 (id="edit_item_xxx", class="edit_item"),但尽管如此,该方法仍然是 post。
我希望我缺少一些明显的东西。
以下是我用于信息的来源: https ://github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/form_helper.rb http://guides.rubyonrails.org/form_helpers .html