Ruby on rails 为什么在使用表单时,它必须是当前用户而不是@user
谢谢你抽出时间来看我。我有一个问题,我很困惑,但希望得到更好的理解。在我过去的项目中,我能够做到Ruby on rails 为什么在使用表单时,它必须是当前用户而不是@user,ruby-on-rails,ruby,form-for,Ruby On Rails,Ruby,Form For,谢谢你抽出时间来看我。我有一个问题,我很困惑,但希望得到更好的理解。在我过去的项目中,我能够做到 <%= form_for @user, :html => { :multipart => true } do |f| %> <p class="editpage">Profile Picture: <%= f.file_field :avatar %></p> <%= f.submit %> <% end %>
<%= form_for @user, :html => { :multipart => true } do |f| %>
<p class="editpage">Profile Picture: <%= f.file_field :avatar %></p>
<%= f.submit %>
<% end %>
终端内的错误
Started POST "/users" for 127.0.0.1 at 2015-08-25 02:04:55 +0900
Processing by UsersController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"e3DrDAhJPV4vgma9tg7wk9g589ZRDNInynWlXDv7oJQ=", "user"=> {"avatar"=>#<ActionDispatch::Http::UploadedFile:0x007f8784a00ec0 @tempfile=# <Tempfile:/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/RackMultipart20150825- 4587-14jh732>, @original_filename="10920917_10152994488342090_418253413398867864_n.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"user[avatar]\"; filename=\"10920917_10152994488342090_418253413398867864_n.jpg\"\r\nContent-Type: image/jpeg\r\n">}, "commit"=>"Upload"}
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c7 20150825-4587-1ka91nc.jpg'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c7 20150825-4587-1p9nueh.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]'
Command :: convert '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' -auto-orient -resize "200x200>" '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1alffdu'
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1alffdu'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]'
Command :: convert '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' -auto-orient -resize "120x" -crop "120x120+0+20" +repage '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1kd13uh'
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1kd13uh'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]'
Command :: convert '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' -auto-orient -resize "75x" -crop "75x75+0+12" +repage '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1recdb2'
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1recdb2'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]'
Command :: convert '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' -auto-orient '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1vsru58'
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1vsru58'
(0.4ms) begin transaction
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1ksrnek.jpg'
(0.1ms) rollback transaction
Redirected to http://localhost:3000/
Completed 302 Found in 625ms (ActiveRecord: 0.5ms)
class User < ActiveRecord::Base
extend FriendlyId
friendly_id :user_name, use: :slugged
has_many :conversations, :foreign_key => :sender_id
after_create :create_default_conversation
has_attached_file :avatar, :styles => {
:medium => "200x200>",
:small => "120x120#",
:thumb => "75x75#",
:default_url => "http://www.adtechnology.co.uk/images/UGM-default-user.png"
}
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/
has_attached_file :background, :styles => {
:medium => "200x200>",
:small => "120x120#",
:thumb => "75x75#",
:default_url => "http://www.adtechnology.co.uk/images/UGM-default-user.png"
}
validates_attachment_content_type :background, :content_type => /\Aimage\/.*\Z/
validates :password, presence: true, on: :create
end
于2015-08-25 02:04:55+0900开始发布127.0.0.1版的“/users”
由UsersController处理#创建为HTML
参数:{“utf8”=>“✓", "真实性令牌“=>”e3DrDAhJPV4vgma9tg7wk9g589ZRDNInynWlXDv7oJQ=“,“用户”=>{“化身”=>,“提交”=>“上传”}
命令::file-b--mime'/var/folders/83/2R02TQ2D39343D30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C7 20150825-4587-1ka91nc.jpg'
命令::标识-格式“%wx%h,%[exif:orientation]”/var/folders/83/2R02TQ2D334D30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C7 20150825-4587-1p9nueh.jpg[0]”2>/dev/null
命令::identify-格式%m'/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]'
命令::convert'/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]-自动定向-调整“200x200>”/var/folders/83/2R02TQ2D33934D30SYFMPZ9YW0000GN/T/47A0270857535577774697C8014AD69C720150825-4587-1p9nueh20150825-4587-1alffdu'
命令::file-b--mime'/var/folders/83/2R02TQ2D39343DD30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh20150825-4587-1alffdu'
命令::标识-格式“%wx%h,%[exif:orientation]”/var/folders/83/2R02TQ2D334D30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]”2>/dev/null
命令::identify-格式%m'/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]'
命令::convert'/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]-自动定向-调整大小“120x”-裁剪“120x120+0+20”+repage'/var/folders/83/2R02TQ2D339D30SYFMPZ9YW0000GN/T/47A0270857535574775777C807AD69C720150825-4587-1K9NU20150825-1kd13uh
命令::file-b--mime'/var/folders/83/2R02TQ2D39343DD30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh20150825-4587-1kd13uh'
命令::标识-格式“%wx%h,%[exif:orientation]”/var/folders/83/2R02TQ2D334D30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]”2>/dev/null
命令::identify-格式%m'/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]'
命令::convert'/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]-自动定向-调整大小“75x”-裁剪“75x75+0+12”+重新分页'/var/folders/83/2R02TQ2D339D30SYFMPZ9YW0000GN/T/47A0270857575773557477C8014AD69C720150825-4587-1PEH20150825-1REC
命令::file-b--mime'/var/folders/83/2R02TQ2D39343DD30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh20150825-4587-1recdb2'
命令::标识-格式“%wx%h,%[exif:orientation]”/var/folders/83/2R02TQ2D334D30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]”2>/dev/null
命令::identify-格式%m'/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]'
命令::convert'/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh.jpg[0]-自动定向'/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47A027085753557467C8014AD69C720150825-4587-1p9nueh20150825-4587-1vsru58'
命令::file-b--mime'/var/folders/83/2R02TQ2D39343DD30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C720150825-4587-1p9nueh20150825-4587-1vsru58'
(0.4ms)开始事务处理
命令::file-b--mime'/var/folders/83/2R02TQ2D39343D30SYFMPZ9YW0000GN/T/47A02708575355774697C8014AD69C720150825-4587-1ksrnek.jpg'
(0.1ms)回滚事务
重定向到http://localhost:3000/
625ms内完成302次(ActiveRecord:0.5ms)
**用户控制器*
class UsersController < ApplicationController
def index
@user = User.new
@users = User.all
# if current_user
# @leaders = @current_user.leaders
# end
end
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
cookies[:user_id] = @user.id
flash[:notice] = "Successfully Registerd"
redirect_to "/"
else
flash[:alert] = @user.errors.full_messages
redirect_to "/"
end
end
def new
@user = User.new
end
def edit
@user = User.friendly.find(params[:id])
current_user
end
def show
@user = User.friendly.find(params[:id])
current_user
# if @current_user
# @followerlink = Follow.where(leader_id: @user.id,
# follower_id: @current_user.id).first
# end
end
def update
@user = User.friendly.find(params[:id])
if @user.update(user_params)
flash[:notice] = "You have successfully update your information"
redirect_to "/"
end
end
def destroy
@user = User.friendly.find(params[:id])
@user.destroy
end
def user_params
params.require(:user).permit(:background, :username_or_email, :first_name, :last_name, :email, :password, :password_confirmation, :user_name, :avatar)
end
end
class UsersController
用户模型
Started POST "/users" for 127.0.0.1 at 2015-08-25 02:04:55 +0900
Processing by UsersController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"e3DrDAhJPV4vgma9tg7wk9g589ZRDNInynWlXDv7oJQ=", "user"=> {"avatar"=>#<ActionDispatch::Http::UploadedFile:0x007f8784a00ec0 @tempfile=# <Tempfile:/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/RackMultipart20150825- 4587-14jh732>, @original_filename="10920917_10152994488342090_418253413398867864_n.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"user[avatar]\"; filename=\"10920917_10152994488342090_418253413398867864_n.jpg\"\r\nContent-Type: image/jpeg\r\n">}, "commit"=>"Upload"}
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c7 20150825-4587-1ka91nc.jpg'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c7 20150825-4587-1p9nueh.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]'
Command :: convert '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' -auto-orient -resize "200x200>" '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1alffdu'
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1alffdu'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]'
Command :: convert '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' -auto-orient -resize "120x" -crop "120x120+0+20" +repage '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1kd13uh'
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1kd13uh'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]'
Command :: convert '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' -auto-orient -resize "75x" -crop "75x75+0+12" +repage '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1recdb2'
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1recdb2'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]'
Command :: convert '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh.jpg[0]' -auto-orient '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1vsru58'
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1p9nueh20150825-4587-1vsru58'
(0.4ms) begin transaction
Command :: file -b --mime '/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/47a027085753557774697c8014ad69c720150825-4587-1ksrnek.jpg'
(0.1ms) rollback transaction
Redirected to http://localhost:3000/
Completed 302 Found in 625ms (ActiveRecord: 0.5ms)
class User < ActiveRecord::Base
extend FriendlyId
friendly_id :user_name, use: :slugged
has_many :conversations, :foreign_key => :sender_id
after_create :create_default_conversation
has_attached_file :avatar, :styles => {
:medium => "200x200>",
:small => "120x120#",
:thumb => "75x75#",
:default_url => "http://www.adtechnology.co.uk/images/UGM-default-user.png"
}
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/
has_attached_file :background, :styles => {
:medium => "200x200>",
:small => "120x120#",
:thumb => "75x75#",
:default_url => "http://www.adtechnology.co.uk/images/UGM-default-user.png"
}
validates_attachment_content_type :background, :content_type => /\Aimage\/.*\Z/
validates :password, presence: true, on: :create
end
class用户:发件人\u id
创建后:创建默认对话
已附加文件:头像,:样式=>{
:medium=>“200x200>”,
:small=>“120x120#”,
:thumb=>“75x75#”,
:默认url=>“http://www.adtechnology.co.uk/images/UGM-default-user.png"
}
验证\u附件\u内容\u类型:头像,:内容\u类型=>/\Aimage\/.\Z/
已附加文件:背景,:样式=>{
:medium=>“200x200>”,
:small=>“120x120#”,
:thumb=>“75x75#”,
:默认url=>“http://www.adtechnology.co.uk/imag
Processing by UsersController#create as HTML
<%= form_for @user, :method => :PUT , :html => { :multipart => true } do |f| %
has_secure_password
validates :password, presence: true, allow_nil: true
@user.inspect
current_user.inspect
User.inspect
validates :password, presence: true, on: :create
Parameters: {"utf8"=>"✓", "authenticity_token"=>"e3DrDAhJPV4vgma9tg7wk9g589ZRDNInynWlXDv7oJQ=", "user"=> {"avatar"=>#<ActionDispatch::Http::UploadedFile:0x007f8784a00ec0 @tempfile=# <Tempfile:/var/folders/83/2r02tq2d3934d30syfmpz9yw0000gn/T/RackMultipart20150825- 4587-14jh732>, @original_filename="10920917_10152994488342090_418253413398867864_n.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"user[avatar]\"; filename=\"10920917_10152994488342090_418253413398867864_n.jpg\"\r\nContent-Type: image/jpeg\r\n">}, "commit"=>"Upload"}