В моей заявке есть Post
& Slide
Модели. post has many slides
& slide belongs_to post
.Рубины на рельсах - ошибка с неопределенным методом семян
Все из моих слайдов имеет одно изображение каждый (я использую carrierwave gem
для загрузки), но в настоящее время некоторые из моих постов не имеет изображения.
Im пытается захватить Первый слайд каждого сообщения и загрузить его изображение в сообщение с помощью seed
.
Это то, что я пытался в seeds.rb
:
posts = Post.all.where(image: nil)
posts.each do |post|
slide = Slide.where(post_id: post).order('created_at DESC').first
post.update(remote_image_url: slide.image_url(:thumb_huge))
end
И
posts = Post.all.where(image: nil)
posts.each do |post|
slide = Slide.where(post_id: post).order('created_at DESC').first
post.update(remote_image_url: "http://mywebsite.com/uploads/slide/image/#{slide}/#{slide.image}")
end
Когда я запускаю это, я получаю: NoMethodError: undefined method image' for nil:NilClass
Почему я получаю NoMethodError
для image
и как я могу это исправить?
Вам нужно показать код, но я предполагаю, что сообщение не имеет изображения, вам нужно сначала создать соответствующий экземпляр модели. – lcguida
изменить 'posts = Post.all.where (image: nil)' to 'posts = Post.where (image: nil)' –