2011-09-03 8 views
0

내 캐시라고 생각되는 것에 문제가 있습니다.사실을 문자열로 변환 할 수 없습니다.

나는이 오류 메시지가 받고 있어요 : 그것은 .foot-movies을 포함하는 라인은 라인 (40)에 대해 불평

%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 

: 여기

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

하는 코드입니다.

코드는 대부분 작동하지만 때로는이 오류가 발생합니다. 잠시 후 내 자신을 보지 못했지만 Exceptional은 지난 7 일 동안 500 번 이상 오류가 발생했다고합니다.

내가 사용하고 있습니다 :

  • HAML 3.1.2
  • 레일 3.1
  • memcached를 1.4.5
  • 크루즈 1.0.5

Here 전체 스택 트레이스입니다.

+0

보간 : 보간 문자열을 사용할 때'to_s'를 사용하지 마십시오. 당신이 게시 한 stacktrace에서 괄호'image_tag (movie.poster, size : "60x92")' – phoet

+0

을 오용하지 마십시오. 캐시가 문자열 대신 true를 반환하는 것처럼 보입니다. 다른 캐시 키를 사용하고 있습니까? – phoet

답변

0

당신이 가지고있는 변수 나 메소드 중 하나는 그 문자열이 단순히 '참'이고 루비는 그것을 문자열로 변환하지 않을 것입니다. 당신은 이들 중 어느 것을 사냥해서 올바른 값을 전달하는지 확인해야합니다.

관련 문제