RuntimeError

Witam!

Podczas przeciągania fotografii z jednej strony tabelki (fotografie nieużyte) na drugą (użyte) wywala mi błąd:

RuntimeError in SlideshowsController#add_photo

Called id for nil, which would mistakenly be 4 – if you really wanted the id of nil, use object_id

RAILS_ROOT: /home/uplevel/Photos/config/…
Application Trace | Framework Trace | Full Trace

/home/uplevel/Photos/app/controllers/slideshows_controller.rb:91:in add_photo' /usr/bin/mongrel_rails:19:inload’
/usr/bin/mongrel_rails:19

metoda add_photo:

def add_photo
slideshow_id = session[:slideshow].id
photo_id = params[:id].split("_")[1]
slide = Slide.new( )
slide.photo_id = photo_id
slide.slideshow_id = slideshow_id
if !slide.save
flash[:notice] = ‘Error: Nie mozna dodac fotografii.’
end
@slideshow = Slideshow.find(slideshow_id)
session[:slideshow] = @slideshow
render_partial ‘show_slides_draggable’
end

Co może być przyczyną?

slideshow_id = session[:slideshow].id

W sesji pewnie nie masz “slideshow”

nil.id => 4

Jak można sprawdzić jakie klucze są w tablicy session?

session.keys

?
I “session” jest Hash’em, nie tablicą

@sevos: jak mamy być tacy dokładni to Hash to jest tablica asocjacyjna :slight_smile:

Haha, epic win kolegi Staszka! :smiley:

Sorry, Sevos :stuck_out_tongue:

:smiley: