Joint 0.5.5 / mongo mapper 0.8.6 - NoMethodError (неопределенный метод `etag 'для # <GridIO ...) - PullRequest
0 голосов
/ 23 декабря 2011

Используем

  • Рельсы 2.3.8
  • Рубин 1.9.2
  • Монго маппер 0.8.6
  • Шарнир 0.5.5
  • Wand 0.4

Мы получаем эту ошибку при использовании etag в следующей строке кода:

return  if fresh_when( :etag => @lesson.video.etag, :last_modified => @lesson.updated_at.utc )

===

Processing LessonsController#video to mp4 (for 127.0.0.1 at 2011-12-22 20:32:51) [GET]
Parameters: {"subdomains"=>["www"], "controller"=>"lessons", "action"=>"video",  "id"=>"4ccf79526905582045000041", "format"=>"mp4"}

NoMethodError (undefined method `etag' for #<GridIO _id: 4ccf846a1204cc1b2f0000e9>):  
joint (0.5.5) lib/joint/attachment_proxy.rb:32:in `method_missing'
app/controllers/lessons_controller.rb:71:in `video'

Вот класс урока:

class Lesson
  include MongoMapper::Document
  plugin Joint

  (other stuff...)

  attachment :image                                                            
  attachment :video                                                            

  timestamps!                                                                  
end

Буду признателен за любую помощь.

-Mei

1 Ответ

1 голос
/ 24 декабря 2011

Мей, пожалуйста, используйте метод hash [], чтобы получить атрибут etag:

@lesson.video['etag']

...