4

CarrierWave gem で Rails 4.0.0 を使用しています。データベースにない属性が常に nil になるのはなぜですか? ファイル PostUploader 内にのみ存在します。やっとデータが到着。これらの属性がファイル PostUploader で利用可能であることを確認するにはどうすればよいですか?

class PostUploader < CarrierWave::Uploader::Base
...
  version :thumb do
    process :crop
  end

  def crop
    model.image_crop # => nil
  end
...
end

モデル:

validates :name, presence: true
mount_uploader :image, PostUploader
attr_accessor :crop_x, :crop_y, :crop_w, :crop_h

コントローラ:

def create
   @post = Post.new(post_params)
   ...
end

def post_params
  params.require(:post).permit(:name, :image, :crop_x, :crop_y, :crop_w, :crop_h)
end

post_params {"name"=>"trololo", "image"=>#, @original_filename="large (3).jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"post[image]\"; filename=\"large (3).jpg\"\r\nContent-Type: image/jpeg\r\n">, "crop_x"=>"0", "crop_y"=>"0", "crop_w"=>"100", "crop_h"=>"200"}

PostUploader のモデル オブジェクト:

Post id: nil, name: "trololo", image: nil, created_at: nil, updated_at: nil

model.crop_x && model.crop_w always => nil

https://github.com/CandyDandy/Realty/tree/developmentこのプロジェクト。

4

1 に答える 1