我需要创建一个自定义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>
答案 0 :(得分:2)
所以我遇到了类似的问题,这就是我最终解决的问题。
对于angularjs 1.2,将动作设置为空白
就足够了Visibility.Collapsed
对于angularjs 1.3,你必须将动作设置为这样的
form_for(@my_model,:url=>'')
我不确定这是否是有效的HTML或最佳做法,但确实有效。