jph*_*er2 0 ruby ruby-on-rails actionview actionviewhelper activemodel
我有一个活跃的模型模型,我想使用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|
Run Code Online (Sandbox Code Playgroud)
我这样选择url因为命名路径前面有'api_'.(这可能是一个很好的方法,但我希望这不是我的问题的一部分).
问题是带有方法键的html选项不会影响表单的方法(总是'post').
模型respond_to?:persisted?,因此ActionView正确命名表单(id ="edit_item_xxx",class ="edit_item"),但尽管该方法仍然存在.
我希望有一些明显的东西让我失踪.
以下是我用于获取信息的来源:https : //github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/form_helper.rb http://guides.rubyonrails.org/form_helpers html的
该method参数应该是外面的html选项哈希:
form_for(@item, url: (...), method: (...), html: {}) do |f|
Run Code Online (Sandbox Code Playgroud)
我鼓励您编写一个帮助器或自定义表单构建器对象.这里的观点有很多,很容易出错,难以测试.
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |