Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 回形针赢了';t在Rails应用程序中保存图像_Ruby On Rails_Ruby_Paperclip - Fatal编程技术网

Ruby on rails 回形针赢了';t在Rails应用程序中保存图像

Ruby on rails 回形针赢了';t在Rails应用程序中保存图像,ruby-on-rails,ruby,paperclip,Ruby On Rails,Ruby,Paperclip,我正在尝试使用Rails应用程序向用户添加化身,但在创建用户时,它不会保存我的图像或更新数据库列 这就是模型的外观: class User < ActiveRecord::Base has_attached_file :avatar 当我查看日志时,这就是传递给“注册”操作的内容: 参数:{“提交”=>“保存”、“操作”=>“注册”、“控制器”=>“用户/注册”、“用户”=>{“姓名”=>“米克·李辛格”、“生日”=>“07”、“密码确认”=>“[过滤]”、“昵称”=>“李辛格”、“

我正在尝试使用Rails应用程序向用户添加化身,但在创建用户时,它不会保存我的图像或更新数据库列

这就是模型的外观:

class User < ActiveRecord::Base
  has_attached_file :avatar
当我查看日志时,这就是传递给“注册”操作的内容:

参数:{“提交”=>“保存”、“操作”=>“注册”、“控制器”=>“用户/注册”、“用户”=>{“姓名”=>“米克·李辛格”、“生日”=>“07”、“密码确认”=>“[过滤]”、“昵称”=>“李辛格”、“阿凡达”=>、“gen”=>“m”、“生日”=>“23”、“密码”=>“[过滤]、“生日”=>“1992”、“电子邮件”=>”lisinge@gmail.coma"}}
[回形针]保存附件。
曲别针说它正在保存模板,但当我在我的应用程序中查看
public
文件夹时,它创建了一个
system
,但
system
文件夹是空的

因此,它似乎没有将图片保存到文件夹中

它由表单处理并保存在我的
/tmp
文件夹中


也许你们有什么建议或者知道这个问题可能是什么吗?

首先检查
路径对于所创建的附件是否正确。您可以使用
avatar.path
来确定。如果它没有返回正确的路径,可能是有人正在覆盖默认的
回形针
路径


同时检查运行应用程序服务器的用户是否可以写入public/system。

尝试设置:path选项

has_attached_file :avatar,
  :path => ':rails_root/public/system/:id.:extension'
我让它工作了

我不得不在我的用户模型中添加
:头像
attr\u accessible

将此贴在此处,希望有机会对某人有所帮助:)


感谢大家的帮助

不要忘记在表单声明中设置:multipart=>true。这咬了我一两次

has_attached_file :asset, :url  => "/assets/:id/:style/:basename.:extension",
  :path => ":rails_root/public/assets/:id/:style/:basename.:extension"

仅供参考,此代码实际上将我的文件保存在我的计算机“/”的根目录中,因为:rails_root参数失败。这是在Rails 3.0.0上的。rc以root用户身份运行,因此它应该能够编写get
当使用
@user.avatar.path
时,不能将nil转换为字符串。发布完整的回溯几乎总是很有用的。但它甚至不能保存到数据库我也有同样的问题,我尝试添加可访问属性,但它仍然无法正确保存,并且在尝试加载图片时显示丢失的消息。这是非常令人沮丧的尝试设置:path选项。也许会有帮助
has_attached_file :avatar,
  :path => ':rails_root/public/system/:id.:extension'
has_attached_file :asset, :url  => "/assets/:id/:style/:basename.:extension",
  :path => ":rails_root/public/assets/:id/:style/:basename.:extension"