Rails + CarrierWave: NoMethodError: niezdefiniowana metoda `image_url 'dla nil: NilClass
Używam Devise i Carrierwave. Płeć użytkowników z devise następnie stworzyłem oddzielny kontroler użytkownika, gdzie ta strona jest teraz (użytkownicy / wyszukiwanie)
Carrierwave działał perfekcyjnie i wyświetlał obrazy w moim programie (użytkownicy / 1 itd.), Jednak kiedy przeniosłem rzeczy na nową stronę „wyszukiwania”, jej zepsuty.
Oto kod w moim widoku .. (uwaga: widok działa, gdy usuwam obraz, więc drugi kod jest w porządku)
<% @males.each do |user| %>
<%= image_tag @user.image_url(:thumb).to_s %>
<%= user.firstname %>
<% end %>
Próbowałem dodać w moim user_controller:
def search
@users = User.all
end
Jak możesz stwierdzić po kodzie w moim odczuciu, filtruję użytkowników według płci (którą zdefiniowałem @males i @females). Możesz to zobaczyć w moim modelu poniżej.
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :email, :password, :password_confirmation, :remember_me, :username, :firstname, :lastname, :gender, :image, :remote_image_url, :image_cache, :remove_image
mount_uploader :image, ImageUploader
scope :male, -> { where gender: 'male' }
scope :female, -> { where gender: 'female' }
Próbowałem dodać: image_url do attr_accessible i mount_uploader i nie zadziałało, ale wiem, że nie byłoby problemu, ponieważ powiedziałem, że działa dobrze w programie.
Jakieś pomysły ??
Uwaga: Sprawdziłem tutaj wszystkie powiązane pytania i nadal nie mogę znaleźć rozwiązania, które by mi pomogło. Dziękuję bardzo