0
用户模式有一个项目模型,它具有使用回形针的Rails 3 - 相关型号回形针
我不记得以前有一个像这样的问题,照片附件。问题是,附件正在保存到文件系统,但不是数据库。
例如RAILS_ROOT/public/system/photos/id/style/file正在创建,但是User.find(1).projects [0] .photo?返回false
用户模式:
has_many :projects, :dependent => :destroy
项目模型:
attr_accessible :title, :content, :src, :medium, :photo attr_accessor :photo_file_name attr_accessor :photo_content_type attr_accessor :photo_file_size attr_accessor :photo_updated_at belongs_to :user has_attached_file :photo, :styles => {:medium => '800x600>', :thumb => '100x100>'}
projects_controller:
def create @user = current_user @project = Project.create! do |p| p.user_id = @user.id p.medium = params[:project][:medium] p.title = params[:project][:title] p.content = params[:project][:content] p.src = params[:project][:src] p.photo = params[:project][:photo] end if @project.save redirect_to projects_path else render :action => 'new' end end
项目的表演动作:
- form_for(@project, :html => { :multipart => true }) do |f| ...
我通常会在我的路线文件中拥有“resources:projects”,但由于某些原因,我的自定义路线搞乱了(/ projects正在映射到show动作而不是索引,并且表单提交正在被索引处理行动),所以我删除了资源行。项目 - 用户关联工作正常,但照片未分配给项目。我不知道为什么。
回形针:: StorageMethodNotFound(无法加载存储模块 '数据库'): – aperture 2011-03-01 05:24:21
您将需要此叉钢轨3 https://github.com/patshaughnessy/paperclip – abdollar 2011-03-01 05:25:46
@abdollar - 我不想将文件本身存储在数据库中,而是指向文件的指针。就像标准的Paperclip模型一样,Model.attachment.url显示保存的文件路径 – aperture 2011-03-01 05:45:19