【发布时间】:2020-05-30 08:15:24
【问题描述】:
我是这样配置的: 使用 rails 5.2 在我的 localhost:3000 中的 Activestorage
我的用户登录中有下一个代码:
"<div class="panel panel-default">
<div class="panel-heading">
<h1 class="display-4"> Seamos cómplices para cumplir nuestros sueños. </h1>
<h3 class="text-center"> Llenando este sencillo formulario recibirás al final nuestra agenda biodinámica con los 12 pasos volver tu sueño realidad. </h3>
<p style="text-align:center;">
<iframe width="100%" height="315" align="middle" src="https://www.youtube.com/embed/pDKDtS6Z4oY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</p>
</div>
<div class="panel-body">
<br /><br />
<div class="container">
<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :post, class: 'form-horizontal' }) do |f| %>
<%= devise_error_messages! %>
<div class="stepwizard">
<div class="stepwizard-row setup-panel">
<div class="stepwizard-step">
<a href="#step-1" type="button" class="btn btn-primary btn-circle">1</a>
<p>Paso 1</p>
</div>
<div class="stepwizard-step">
<a href="#step-2" type="button" class="btn btn-default btn-circle" disabled="disabled">2</a>
<p>Paso 2</p>
</div>
<div class="stepwizard-step">
<a href="#step-3" type="button" class="btn btn-default btn-circle" disabled="disabled">3</a>
<p>Paso 3</p>
</div>
</div>
</div>
<form role="form">
<div class="row setup-content" id="step-1">
<div class="col-xs-12">
<div class="col-md-12">
<h3> Paso 1</h3>
<br />
<div class="form-group">
<%= f.label :username, "Username (elige un nombre de usuario)" %>
<br />
<%= f.text_field :username, placeholder: "Elige el nombre de usuario que desees", class: "form-control", required: true, autofocus: true, type: "input" %>
</div>
<div class="form-group">
<%= f.label :name, "Nombre" %>
<br />
<%= f.text_field :name, placeholder: "Pon aquí tu Nombre", class: "form-control", autofocus: true, type: "input" %>
</div>
<div class="form-group">
<%= f.label :lastname, "Apellido" %>
<br />
<%= f.text_field :lastname, placeholder: "Pon aquí tu Apellido", class: "form-control", autofocus: true, type: "input" %>
</div>
<button class="btn btn-primary nextBtn btn-lg pull-right" type="button" >Siguiente</button>
</div>
</div>
</div>
<div class="row setup-content" id="step-2">
<div class="col-xs-12">
<div class="col-md-12">
<h3> Paso 2</h3>
<br />
<div class="form-group">
<%= f.label :email, "Correo Electrónico (email)" %>
<br />
<%= f.email_field :email, placeholder: "Ingresa tu correo electrónico", class: "form-control", autofocus: true, type: "input" %>
</div>
<div class="form-group">
<%= f.label :password, "Contraseña" %>
<br />
<%= f.password_field :password, placeholder: "Ingresa tu contraseña", class: "form-control", autofocus: true %>
</div>
<div class="form-group">
<%= f.label :password, "Repite tu contraseña" %>
<br />
<%= f.password_field :password_confirmation, placeholder: "Ingresa nuevamente tu contraseña", class: "form-control", autofocus: true %>
</div>
<div class="form-group">
<%= f.label "Sube tu avatar (opcional)", class: 'col-sm-2 control-label' %>
<div class="col-sm-6">
<%= f.file_field :avatar, class: 'photo_upload' %>
</div>
</div>
<br /><button class="btn btn-primary nextBtn btn-lg pull-right" type="button" >Siguiente</button>
<button class="btn btn-info prevBtn btn-lg pull-left" type="button" >Anterior</button>
</div>
</div>
</div>
<div class="row setup-content" id="step-3">
<div class="col-xs-12">
<div class="col-md-12">
<h3> Paso 3</h3><br />
<div class="form-group">
<%= f.label "País *", class: 'col-sm-2 control-label' %>
<div class="col-sm-6">
<%= f.text_field :country, placeholder: "Ingresa tu país de Residencia", class: "form-control" %>
</div>
</div>
<div class="form-group">
<%= f.label "Región", class: 'col-sm-2 control-label' %>
<div class="col-sm-6">
<%= f.text_field :region, placeholder: "Ingresa tu región de Residencia (Estado/Departamento/Provincia)", class: "form-control" %>
</div>
</div>
<div class="form-group">
<%= f.label "Ciudad/Población", class: 'col-sm-2 control-label' %>
<div class="col-sm-6">
<%= f.text_field :city, placeholder: "Ingresa tu Población (Ciudad/Municipio, Corregimiento, Vereda)", class: "form-control" %>
</div>
</div>
<div class="form-group">
<%= f.label "Fecha de Nacimiento (opcional)", class: 'col-sm-2 control-label' %>
<div class="col-sm-6">
<%= f.input :born_date, as: :date_picker, label: false, placeholder: "Da click en el botón de calendario de la derecha" %>
</div>
</div>
<div class="form-group">
<%= f.label "Facebook", class: 'col-sm-2 control-label' %>
<div class="col-sm-6">
<i class="fa fa-facebook"></i><%= f.text_field :facebook, class: "form-control", placeholder: "Ingresa la url - link de tu perfil de facebook" %>
</div>
</div>
<div class="form-group">
<%= f.label "Twitter", class: 'col-sm-2 control-label' %>
<div class="col-sm-6">
<i class="fa fa-twitter"></i><%= f.text_field :twitter, class: "form-control", placeholder: "Ingresa la url - link de tu perfil de facebook" %>
</div>
</div>
<div class="form-group">
<%= f.label "Sitio Web", class: 'col-sm-2 control-label' %>
<div class="col-sm-6">
<i class="fa fa-external-link"></i><%= f.text_field :website, class: "form-control", placeholder: "Si tienes sitio web y quieres compartir, pon aquí la url" %>
</div>
</div>
<%= f.submit "¡Regístrate!", class: "btn btn-primary btn-lg pull-right" %>
<button class="btn btn-info prevBtn btn-lg pull-left" type="button" >Anterior</button>
</div>
</div>
</div>
</form>
<% end %>
</div>
<br />
<div class="panel-footer">
<%= render "devise/shared/links" %>
</div>
</div>
</div>"
我为activestorage做了配置:
- 添加 storage.yml
" 本地:
service: Disk
root: <%= Rails.root.join("storage") %>
测试:
service: Disk
root: <%= Rails.root.join("tmp/storage") %>"
-
开发.rb
"config.active_storage.service = :local"
-
test.rb:
"config.active_storage.service = :test"
-
用户设计模型:
“has_one_attached:头像”
-
应用程序/控制器
" def configure_permitted_parameters 参数= [:姓氏,:用户名,:电话,:国家,:城市, :born_date, :website, :facebook, :twitter, :avatar]
devise_parameter_sanitizer.permit(:sign_up, keys: [:name]) devise_parameter_sanitizer.permit(:account_update, keys: [:name, :avatar])结束”
当我创建用户时,我会在终端中看到:
"User id: 9, email: "felipe@meetrico.com", created_at: "2020-02-14 13:53:14", updated_at: "2020-02-14 13:53:14", sash_id: nil, level: 0, name: nil, lastname: nil, avatar_file_name: nil, avatar_content_type: nil, avatar_file_size: nil, avatar_updated_at: nil, username: nil, facebook: nil, twitter: nil, country: nil, region: nil, city: nil, born_date: nil, website: nil, admin: nil"
用户已创建但信息为零,所以当我转到我的用户面板时,我看到 avatar:nil 错误。
¿为什么我的设备没有加载信息?
感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails ruby devise rails-activestorage