2017-09-23 3 views
0

Ceci est mon erreur dans le terminal,erreur en essayant de télécharger une photo en utilisant onde porteuse et s3

Excon::Error::Socket (getaddrinfo: nodename nor servname provided, or not known (SocketError)): 

app/controllers/properties_controller.rb:15:in `create' 

c'est la page de vue

getaddrinfo: nodename nor servname provided, or not known (SocketError) 

c'est mon fichier de brouillard,

CarrierWave.configure do |config| 
    config.fog_provider = 'fog/aws'      # required 
    config.fog_credentials = { 
provider:    'AWS',      # required 
aws_access_key_id:  ENV['AWS_APP_KEY'],      # required 
aws_secret_access_key: ENV['AWS_APP_SECRET'],      # required 
region:    'us-east-1',     # optional, defaults to 'us-east-1' 
host:     's3.example.com',    # optional, defaults to nil 
endpoint:    's3-external-1.amazonaws.com' # optional, defaults to nil 
} 
config.fog_directory = ENV['AWS_BUCKET_NAME']       # required 
config.fog_public  = false          # optional, defaults to true 
config.fog_attributes = { cache_control: "public, max-age=#{365.day.to_i}" } # optional, defaults to {} 
end 

toute aide sera très appréciée

def create 
@property = Property.new(property_params) 

    if @property.save 
    redirect_to root_path 
    else 
    render 'new' 
    end 
end 


    private 
    def property_params 
if params[:property][:amenities].class == Array 
    params[:property][:amenities] = params[:property][:amenities].join(",") 
end 
params.require(:property).permit(:property_name, :city, :ppm, :images, :user_id, :amenities, {property_images: []}) 

end 

il veut ajouter plus de détails, j'ai donc essayé de changer les régions etc ...

fais aussi j'ai besoin « CONEX »

+0

Salut Dave, pourriez-vous fournir la méthode 'create' de votre contrôleur de propriétés? – garythegoat

+0

Juste ajouté. merci – Dave

+0

Je pense que vous devez changer l'option de configuration de CarrierWave 'host' pour pointer' 's3.amazonaws.com'' au lieu de' 's3.example.com'' – garythegoat

Répondre

1

Modifier l'hôte option de configuration CarrierWave pour pointer vers 's3.amazonaws.com' au lieu de 's3.example.com'

+0

Great qui semble avoir trié cette erreur, je ' m est maintenant parti avec ceci: mauvais URI (n'est pas URI?):: // (my-bucket-name) .s3.amazonaws.com: – Dave

+0

Ok, je l'ai trié merci – Dave

1

problème est avec votre point final de configuration,

Vous

n'a pas besoin d'entrée de l'hôte. J'ai modifié le point de terminaison pour utiliser l'URL standard s3.

CarrierWave.configure do |config| 
    config.fog_provider = 'fog/aws'      # required 
    config.fog_credentials = { 
provider:    'AWS',      # required 
aws_access_key_id:  ENV['AWS_APP_KEY'],      # required 
aws_secret_access_key: ENV['AWS_APP_SECRET'],      # required 
region:    'us-east-1',     # optional, defaults to 'us-east-1' 
endpoint:    's3.amazonaws.com' # optional, defaults to nil 
} 
config.fog_directory = ENV['AWS_BUCKET_NAME']       # required 
config.fog_public  = false          # optional, defaults to true 
config.fog_attributes = { cache_control: "public, max-age=#{365.day.to_i}" } # optional, defaults to {} 
end 

Documentation Referenced:

https://github.com/carrierwaveuploader/carrierwave/wiki/How-to:-Use-minio-with-Carrierwave

https://github.com/carrierwaveuploader/carrierwave/issues/1802

Hope it helps.