0
我在'vendor/bundler'中使用Gems。当我得到了编码错误,我固定它通过“config/initializer
”添加一个名为“output_safty_encoding_patch.rb
”文件:ActionView :: Template :: Error(未定义的方法'force_encoding'为零:NilClass):
output_safty_encoding_patch.rb
module ActiveSupport
class SafeBuffer < String
def concat(value)
if value.html_safe?
super(value.force_encoding('utf-8'))
else
super(ERB::Util.h(value.force_encoding('utf-8')))
end
end
alias << concat
end
end
然后我用宝石‘设计’,并试图创建一个新帖子。 我得到这个错误。
::的ActionView ::模板错误(未定义的方法`force_encoding”的零:NilClass):
我的日志:
Processing by PostsController#new as HTML
Rendered posts/_form.html.slim (30.2ms)
Rendered posts/new.html.erb within layouts/application (36.8ms)
Completed 500 Internal Server Error in 43ms
ActionView::Template::Error (undefined method `force_encoding' for nil:NilClass):
1: = form_for(@post) do |f|
2: -if @post.errors.any?
3: #error_explanation
4: h2= pluralize(@post.errors.count, "error")
config/initializers/output_safty_encoding_patch.rb:7:in `concat'
app/views/posts/_form.html.slim:1:in _app_views_posts__form_html_slim__2419859499811208315_70341230451880
app/views/posts/new.html.erb:4:in _app_views_posts_new_html_erb___3935161508588949089_70341230567660