如何从Rails form_for表单构建器/帮助程序中删除action属性

时间:2014-08-11 09:46:12

标签: ruby-on-rails forms

我需要创建一个自定义rails form_for帮助程序,它为模型对象写出一个客户端表单。客户端框架要求我在表单标记中没有操作,或者表单将提交给操作。我该如何删除它?如果可以,我想避免在客户端操作,只需删除action属性。我有一个自定义表单构建器来控制表单字段的输出,以下是我如何呈现标记。我被困在如何做到这一点任何人都有任何想法?

  def angular_form_for record, *args, &block
    options = args.extract_options!
    options[:builder] = AngularFormFor::FormBuilder
    options[:html] ||= {}
    options[:html]['novalidate'] = 'novalidate'
    options[:html]['name'] = 'form'
    form_for record, *(args << options), &block
  end

所以,如果我在视图中用:

调用它
angular_form_for @order do |f|
  ...
end

这给了我类似的输出:

<form accept-charset="UTF-8" action="/orders" id="new_order" method="post" name="form" novalidate="novalidate">
....
</form>

我想要的是这样的:

<form accept-charset="UTF-8" id="new_order" method="post" name="form" novalidate="novalidate">
....
</form>

1 个答案:

答案 0 :(得分:2)

所以我遇到了类似的问题,这就是我最终解决的问题。

对于angularjs 1.2,将动作设置为空白

就足够了
Visibility.Collapsed

对于angularjs 1.3,你必须将动作设置为这样的

form_for(@my_model,:url=>'')

我不确定这是否是有效的HTML或最佳做法,但确实有效。