簡體   English   中英

Rails 4.1.4 ActionView :: Base默認表單生成器不存在

[英]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_builderActionView::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個解決方案是:

  1. 將表單生成器對象傳遞給form_for options [:builder]哈希
  2. 在我的環境config中添加以下行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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM