什么会导致 Sprockets::CachedEnvironment 错误?
What can cause Sprockets::CachedEnvironment error?
我的 RoR 应用程序因以下错误而失败:
ActionView::Template::Error (undefined method `attributes_for' for
Sprockets::CachedEnvironment:0x00000005baf3d8
据我所知,当 html.erb 模板中的 javascript 正在呈现时会发生此错误。我还注意到,在它发生的所有模板中都存在 tinyMCE 初始化命令。
我想,这是特定于环境的,因为在我的开发机器上它工作正常,在生产服务器上它也工作正常。当我决定安装第二个生产服务器进行测试时,我开始收到此消息。我安装了 CentOS 6 + rvm + ruby 2.2.0(与第一台生产服务器相同)。也许我错过了安装什么东西?
由于问题与 tinymce
和 sprockets
有关,我猜测您正在使用 tinymce-rails
GEM。
tinymce-rails
GEM 在 sprockets
>= 3 下无法正常工作。它使用了一些在版本 3 中删除的 API。
如果您还想使用tinymce-rails
GEM,请将sprockets
锁定为~> 2
。这已经解决了我的问题。
完美的解决方案是为 tinymce-rails
发出拉取请求以使其与最新的 sprockets
一起使用,但这完全是另一回事。
我的 RoR 应用程序因以下错误而失败:
ActionView::Template::Error (undefined method `attributes_for' for Sprockets::CachedEnvironment:0x00000005baf3d8
据我所知,当 html.erb 模板中的 javascript 正在呈现时会发生此错误。我还注意到,在它发生的所有模板中都存在 tinyMCE 初始化命令。
我想,这是特定于环境的,因为在我的开发机器上它工作正常,在生产服务器上它也工作正常。当我决定安装第二个生产服务器进行测试时,我开始收到此消息。我安装了 CentOS 6 + rvm + ruby 2.2.0(与第一台生产服务器相同)。也许我错过了安装什么东西?
由于问题与 tinymce
和 sprockets
有关,我猜测您正在使用 tinymce-rails
GEM。
tinymce-rails
GEM 在 sprockets
>= 3 下无法正常工作。它使用了一些在版本 3 中删除的 API。
如果您还想使用tinymce-rails
GEM,请将sprockets
锁定为~> 2
。这已经解决了我的问题。
完美的解决方案是为 tinymce-rails
发出拉取请求以使其与最新的 sprockets
一起使用,但这完全是另一回事。