代码之家  ›  专栏  ›  技术社区  ›  Zaz Volodymyr Null

rubyonrails:奇怪的样式表问题

  •  0
  • Zaz Volodymyr Null  · 技术社区  · 14 年前

    直接地 访问我的CSS,它工作正常。但其他时候,它不起作用,我收到这个服务器输出:

    [2010-08-01 12:49:37] ERROR NoMethodError: private method `gsub!' called for #<Class:0x7f6d0639ad80>
        /usr/lib/ruby/1.8/webrick/htmlutils.rb:16:in `escape'
        /usr/lib/ruby/1.8/webrick/httpresponse.rb:232:in `set_error'
        /var/www/rails-blog/vendor/rails/railties/lib/webrick_server.rb:94:in `handle_file'
        /var/www/rails-blog/vendor/rails/railties/lib/webrick_server.rb:73:in `service'
        /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
        /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
        /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
        /usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
        /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
        /usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
        /usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
        /usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
        /usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
        /usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
        /var/www/rails-blog/vendor/rails/railties/lib/webrick_server.rb:60:in `dispatch'
        /var/www/rails-blog/vendor/rails/railties/lib/commands/servers/webrick.rb:66
        /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
        /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
        /var/www/rails-blog/vendor/rails/activesupport/lib/active_support/dependencies.rb:153:in `require'
        /var/www/rails-blog/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
        /var/www/rails-blog/vendor/rails/activesupport/lib/active_support/dependencies.rb:153:in `require'
        /var/www/rails-blog/vendor/rails/railties/lib/commands/server.rb:49
        /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
        /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
        script/server:3
    127.0.0.1 - - [01/Aug/2010:12:49:37 BST] "GET /stylesheets/scaffold.css HTTP/1.1" 500 343
    - -> /stylesheets/scaffold.css?1280662371
    

    我用来包含样式表的代码是 <%= stylesheet_link_tag 'scaffold' %> . 我重新启动了Ruby服务器,但没有效果。是什么导致了这个问题?

    这是从阅读中得来的 one of the official guides .

    1 回复  |  直到 14 年前
        1
  •  2
  •   Zaz Volodymyr Null    14 年前

    http://www.ruby-forum.com/topic/206225

    On 10.06.2010 03:19, Michael Pitman (mcp) posted :

    继续使用Webrick,而不是 切换到混血儿,你也可以 只需编辑第15行 lib/ruby/1.8/webrick/htmlutils.rb到 阅读

      str = string ? string.to_s.dup : ""
    

    异常正在传递给 HTMLUtils::将escape作为类,而不是 HTTPServlet::DefaultFileHandler)。 因为只有 始终安全地转换输入 去串。

    我怀疑 性能惩罚可能会阻止 像这样的解决办法 标准的ruby库,但它是一个 简单的解决方法。

    webrick的DispatchServlet方法 gem),然后调用res.set\u error err.message必须是字符串,或者 我想,即使是明确的信息 不管怎样,它都被丢弃了 未修改。