Невозможно преобразовать изображение в URL: to_model делегирован во вложении, но вложение равно нулю - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь прикрепить avatar к профилю.Однако я получаю следующую ошибку: enter image description here

Я обновил с Rails 5.2 до Rails 6. Я перешел на конфигурацию для активного хранилища.У меня есть следующее в модели профиля.

class Profile < ApplicationRecord
  belongs_to :user
  has_one_attached :avatar
end

Вот контроллер

class ProfilesController < ApplicationController
  def new
    @profile = current_user.build_profile
  end

  def create
    @profile = current_user.create_profile(profile_params)
    @profile.avatar.attach(params[:profile][:avatar])
  end

  def show
    @profile = current_user.profile
  end


 def profile_params
    params.require(:profile).permit(:full_name, :city, :bio, :avatar)
  end


2.5.0 :003 > profile = profile[0]
  Profile Load (0.4ms)  SELECT "profiles".* FROM "profiles"
 => #<Profile id: 1, user_id: 1, full_name: "steven", city: "New York", bio: "Whats goodie G", created_at: "2019-06-07 02:27:37", updated_at: "2019-06-07 02:27:37"> 
2.5.0 :004 > profile.avatar
 => #<ActiveStorage::Attached::one:0x00007f94bf358508 @name="avatar", @record=#<Profile id: 1, user_id: 1, full_name: "steven", city: "New York", bio: "Whats goodie G", created_at: "2019-06-07 02:27:37", updated_at: "2019-06-07 02:27:37">> 
2.5.0 :005 > exit

Вот модель:

class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable
  has_many :photos
  has_one :profile
  accepts_nested_attributes_for :profile
end

В чем проблема?от

...