Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails can';t将true转换为字符串_Ruby On Rails_Ruby On Rails 3_Memcached_Haml - Fatal编程技术网

Ruby on rails can';t将true转换为字符串

Ruby on rails can';t将true转换为字符串,ruby-on-rails,ruby-on-rails-3,memcached,haml,Ruby On Rails,Ruby On Rails 3,Memcached,Haml,我认为我的缓存有问题 我收到以下错误消息: ListsUsersController#(ActionView::Template::Error)“无法将true转换为字符串” 代码如下: %footer - cache "footer-movies-#{Time.now.hour.to_s}", expires_in: 2.days do .foot-movies %ul - Movie.footer.each do |movie| %

我认为我的缓存有问题

我收到以下错误消息:

ListsUsersController#(ActionView::Template::Error)“无法将true转换为字符串”

代码如下:

%footer
  - cache "footer-movies-#{Time.now.hour.to_s}", expires_in: 2.days do
    .foot-movies
      %ul
        - Movie.footer.each do |movie|
          %li= link_to (image_tag movie.poster, size: "60x92"), movie_path(movie), title: movie.title
它在抱怨第40行,该行包含
.foot movies

代码大部分时间都在工作,但有时会引发此错误。 我已经有一段时间没亲眼看到了,但我告诉我,在过去的7天里,这个错误已经出现了500多次

我正在使用:

  • haml 3.1.2
  • 轨道3.1
  • memcached 1.4.5
  • 达利1.0.5

是完整的stacktrace。

您拥有的变量或方法之一没有字符串,它只是“true”,ruby不会将其转换为字符串。您必须找出它是哪一个,并确保它传递了正确的值。请注意:使用插值字符串时,不要执行
to_s
。不要误用括号
image\u标记(movie.poster,大小:“60x92”)
从您发布的stacktrace中,看起来缓存返回的是true而不是字符串。您是否在其他地方使用相同的缓存密钥?