我正在开展一个项目,我们不会使用ajax调用来提交表单,因此我需要在项目中的每个表单中放置"picture": "http://www2.assemblee-nationale.fr/static/tribun/15/photos/718902.jpg",
,如rails中所示docs:
local: true
默认情况下有没有办法将local选项设置为true?
我们正在使用Rails 5 :local - By default form submits are remote and unobstrusive XHRs. Disable remote submits with local: true.
帮助器:
form_with
答案 0 :(得分:13)
您已经说过,可以使用local: true
在每个表单上进行设置。要全局设置,请使用配置选项form_with_generates_remote_forms
https://guides.rubyonrails.org/configuring.html-config.action_view.form_with_generates_remote_forms确定form_with是否生成远程表单。默认为true。
在初始化程序中设置它:
# config/initializers/action_view.rb
Rails.application.config.action_view.form_with_generates_remote_forms = false
答案 1 :(得分:5)
考虑重写form_with
方法:
# form_helper.rb
def form_with(options)
options[:local] = true
super options
end
这应该为你的应用程序中的每个表单解决它。
答案 2 :(得分:1)
可以在config/applicaiton.rb
module App
class Application < Rails::Application
# [...]
config.action_view.form_with_generates_remote_forms = false
end
end
Guy C的答案很好,但是将所有配置都放在该文件中而不是单独的初始化器是比较习惯的;那是大多数Rails开发人员所期望的。请注意,如果仅将其放置为config/development.rb
或其他特定于环境的文件,则将带来灾难。