无法将true转换为String

时间:2011-09-03 10:21:05

标签: ruby-on-rails ruby-on-rails-3 memcached haml

我认为我的缓存存在问题。

我收到此错误消息:

ListsUsersController# (ActionView::Template::Error) "can't convert true into String"

以下是代码:

%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的行。

代码大部分时间都有效,但有时会引发此错误。 我有一段时间没有看到它,但是Exceptional告诉我错误在过去7天内已经提高了500倍。

我正在使用:

  • haml 3.1.2
  • rails 3.1
  • memcached 1.4.5
  • dalli 1.0.5

Here是完整的堆栈跟踪。

1 个答案:

答案 0 :(得分:0)

你拥有的变量或方法之一没有字符串,只是'true'而ruby不会将其转换为字符串。你必须追捕它们中的哪一个,并确保它传递正确的值