[英]Rails 4.1.4 ActionView::Base Default Form Builder Doesn't Exist
使用Ruby 2.1.1 Rails 4.1.4
你好
我一直在用FormHelper看到一個非常奇怪的問題,我的頭撞了。 我只是試圖使用form_for
構建表單,並且在視圖嘗試渲染時出現cannot call new for nil class
錯誤。 通過回溯,我發現問題實際上出在:
ActionView::Helpers::FormHelper#instantiate_builder:1145-1146
builder = options[:builder] || default_form_builder
builder.new(object_name, object, self, options)
default_form_builder
在ActionView::Helpers::FormHelper
定義如下
def default_form_builder
builder = ActionView::Base.default_form_builder
builder.respond_to?(:constantize) ? builder.constantize : builder
end
我尚未添加自定義表單生成器,只是在嘗試使用默認表單。 當我檢查什么是ActionView::Base.default_form_builder
,得到零。
使它對我有用的2個解決方案是:
config.action_view.default_form_builder = ActionView::Helpers::FormBuilder
我現在使用2),但是這兩個都不是必須的。
我到處都看過,但是發生的事情沒有運氣。 謝謝你的幫助!
你有gem 'extlib'
和gem 'devise'
中的Gemfile?
移動gem 'extlib'
線下gem 'devise'
路線。
我不知道為什么,但是它可以工作...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.