gpt4 book ai didi

ruby-on-rails - 警告 : Can't mass-assign protected attributes Paperclip Rails 4

转载 作者:行者123 更新时间:2023-12-04 06:28:16 25 4
gpt4 key购买 nike

我正在尝试使用回形针使用 heroku 将图像上传到亚马逊 S3。到目前为止,我得到:警告:无法为用户批量分配 protected 属性:图片。我已经通过了许多指南,但没有任何帮助。

我的型号:

class User < ActiveRecord::Base
resourcify
attr_accessible :login, :password, :password_confirmation, :longitue, :latitude, :showingName,:email,:contato,:telefone
has_many :api_keys
has_secure_password

has_attached_file :picture,
styles: {
thumb: '100x100>',
square: '200x200>',
medium: '300x300>',
icon: '30x30>'}#,


validates_attachment_content_type :picture, :content_type => /\Aimage\/.*\Z/
validates_attachment_file_name :picture, :matches => [/png\Z/, /jpe?g\Z/]
validates_with AttachmentSizeValidator, :attributes => :picture, :less_than => 3.megabytes

rolify :before_add => :before_add_method

def before_add_method(role)
# do something before it gets added
end

我的 Controller :
class UsersController < ApplicationController
load_and_authorize_resource

def new
end

def index
end

def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'Comida was successfully created.' }
format.json { render :show, status: :created, location: @user }
else
format.html { render :new }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end

end

private
# Use callbacks to share common setup or constraints between actions.
def set_user
@user = User.find(params[:id])
end

# Never trust parameters from the scary internet, only allow the white list through.
def user_params
params.require(:user).permit(:picture,:login, :password, :longitue, :latitude, :showingName,:email,:contato,:telefone)
end


end

我的看法:
<%= simple_form_for @user, :html => { :class => 'form-horizontal', :multipart => true } do |f| %>


<%= f.input :nome %>


<%= f.label :picture %>
<%= f.file_field :picture %>

<%= f.input :showingName %>
<%= f.input :email %>
<%= f.input :login %>

<%= f.input :password %>
<%= f.input :password_confirmation %>
<%= f.input :contato %>
<%= f.input :telefone %>
<%= f.input :description %>
<%= f.input :laitude %>
<%= f.input :logitude %>
<div class="form-actions">
<%= f.button :submit, :class => 'btn-primary' %>
<%= link_to t('.cancel', :default => t("helpers.links.cancel")),
users_path, :class => 'btn btn-meubar' %>
</div>
<% end %>

生产.rb
config.paperclip_defaults = {
:storage => :s3,
:s3_host_name => 's3-sa-east-1.amazonaws.com',
:s3_credentials => {
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'],
:bucket => ENV['S3_BUCKET_NAME']
},
:path => ":class/:id/:basename_:style.:extension",
:url => ":s3_path_url"
}

感谢您的时间和帮助:)

最佳答案

只需添加 :pictureattr_accessible .

关于ruby-on-rails - 警告 : Can't mass-assign protected attributes Paperclip Rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27754553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com