Я использую скрепку для загрузки некоторых изображений, размер которых изменяется. Один из которых я хочу обрезать одним из пяти способов... Во всяком случае, я разработал, как должны выглядеть строки для обрезки, изменив их вручную, но теперь мне нужно сделать это динамическим, чтобы скрепка могла обрезать на основе на то, что хочет пользователь...
Проблема в том, что я получаю
undefined local variable or method `params' for #<Class:0x00000105b228d8>
Я почти уверен, что это потому, что я пытаюсь согнуть рельсы по своей воле. Во всяком случае, я думаю, что довольно ясно, что я пытаюсь сделать... Просто укажите переменную crop_geometry_thumb в convert_options... Куда мне на самом деле поместить эту логику, чтобы моя модель могла ее найти?
class Asset < ActiveRecord::Base
if params[:crop_geometry] == "bottom"
crop_geometry_thumb = "-crop 200x100+0+100 -scale 100x100"
elsif params[:crop_geometry] == "top"
crop_geometry_thumb = "-crop 200x100+0+0 -scale 100x100"
elsif params[:crop_geometry] == "left"
crop_geometry_thumb = "-crop 100x200+0+100 -scale 100x100"
elsif params[:crop_geometry] == "right"
crop_geometry_thumb = "-crop 100x200+100+0 -scale 100x100"
else
crop_geometry_thumb = "-scale 100x100"
end
belongs_to :piece
has_attached_file :asset, :styles => {
:large => ['700x700', :jpg],
:medium => ['300x300>', :jpg],
:thumb => ["200x200>", :jpg]},
:convert_options => {:thumb => crop_geometry_thumb}, ### supply a string from above... FAIL :(
:path => ":id/:style/:filename",
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:s3_permissions => :private,
:url => ':s3_domain_url'
end