Undefined method `empty?' for nil:NilClass


#1

Witam,
Mam formularz gdzie dadaje pare danych, w tym jedno zdjęcię. I zawsze jak dodam zdjęcie to pojawia się błąd (screen w załączniku). Jak nie dodam zdjęcia to dodaje się ok nie ma błędów, no ale nie ma zdjęcia. Ktoś wię jak to naprawić? Dodam że jak odpalam ten sam projekt na Linuxie to nie ma tych błędów przy dodawaniu zdjecia, a na Windows jest wywla te błędy. Ktoś wię jak to naprawić?


#2

@Soxter z tak opisanym problemem niestety nikt Ci nie będzie w stanie pomóc.
Z tego załącznika można tylko wróżyć problemy i rozwiązania :wink:
wklej kod kontrolera books lub jeśli to projekt do nauki to może warto wrzucić go np na githuba, wtedy innym będzie łatwiej pomagać


#3

Jeśli miałbym strzelać to prawdopodobnie ustawiasz jakąś zmienną instancji w akcji edit, której się spodziewa template, ale nie ustawiasz jej w akcji update, więc dostajesz taki błąd przy oblaniu walidacji. Ale tak jak kolega wyżej napisał, to tylko wróżby bez kodu.


#4

#5

@Soxter w tym repozytorium nie ma nigdzie użytej metody empty?. Kod na którym pracujesz jest identyczny z masterem z tego repo?


#6

@yan nie ma nigdzie uzytej metody empty?. Kod jest ten sam, nawet drugi pobrałem i to samo. W Gemfile dodaje tylko:
gem ‘tzinfo-data’
gem ‘therubyracer’, platforms: :ruby
potem wykonuje
bundle update
rake db:migrate
bundle installl
rails s
Dodam że na linuxie robie tak samo z tym samym kodem i to działa. Więc o co tu chodzi? może do tych railsów 4.2.1 musi być starsza wersja ruby?


#7

A nie jest tak, że to się dzieje na “nieudany” update, gdy znów wyświetlasz formularz - i tu pojawia się moje pytanie: czy na wypadek wyświetlania formularza przy akcji update też masz wcześniej ustawioną zmienną @categories? (https://github.com/RyanHemrick/Book-Review/blob/master/app/views/books/edit.html.erb#L8)