ruby-on-rails – Paperclip:继续编辑
发布时间:2020-12-17 01:58:29 所属栏目:百科 来源:网络整理
导读:当用户在我的应用程序中编辑某些内容时,他们不得不通过回形针重新上传他们的图像,即使他们没有更改它.如果不这样做将导致错误,因为我validate_presence_of:image.这很烦人. 如果用户根本不在编辑中提供新图像,如何使其成为Paperclip不会更新其属性? 照片控
当用户在我的应用程序中编辑某些内容时,他们不得不通过回形针重新上传他们的图像,即使他们没有更改它.如果不这样做将导致错误,因为我validate_presence_of:image.这很烦人.
如果用户根本不在编辑中提供新图像,如何使其成为Paperclip不会更新其属性? 照片控制器是Rails的脚手架发电机新鲜的.其余的源代码如下所示. 车型/ accommodation.rb class Accommodation < ActiveRecord::Base attr_accessible :photo validates_presence_of :photo has_one :photo has_many :notifications belongs_to :user accepts_nested_attributes_for :photo,:allow_destroy => true end 控制器/ accommodation_controller.rb class AccommodationsController < ApplicationController def index @accommodations = Accommodation.all end def show @accommodation = Accommodation.find(params[:id]) rescue ActiveRecord::RecordNotFound flash[:error] = "Accommodation not found." redirect_to :home end def new @accommodation = current_user.accommodations.build @accommodation.build_photo end def create @accommodation = current_user.accommodations.build(params[:accommodation]) if @accommodation.save flash[:notice] = "Successfully created your accommodation." redirect_to @accommodation else @accommodation.build_photo render :new end end def edit @accommodation = Accommodation.find(params[:id]) @accommodation.build_photo rescue ActiveRecord::RecordNotFound flash[:error] = "Accommodation not found." redirect_to :home end def update @accommodation = Accommodation.find(params[:id]) if @accommodation.update_attributes(params[:accommodation]) flash[:notice] = "Successfully updated accommodation." redirect_to @accommodation else @accommodation.build_photo render :edit end end def destroy @accommodation = Accommodation.find(params[:id]) @accommodation.destroy flash[:notice] = "Successfully destroyed accommodation." redirect_to :inkeep end end 车型/ photo.rb class Photo < ActiveRecord::Base attr_accessible :image,:primary belongs_to :accommodation has_attached_file :image,:styles => { :thumb=> "100x100#",:small => "150x150>" } end 解决方法
你不应该在新的行动中的任何地方需要@ accommodation.build_photo.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |