3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/ruby_gallery/attachments_controller.rb', line 3
def upload_album_for(models)
class_name = models.to_s.singularize
class_object_name = class_name.classify
class_object = class_object_name.constantize
instance_eval do
define_method("upload_album") do
object = class_object.find(params[:id])
photo = object.album_photos.build({photo: (params[:file] and params[:file].is_a?(Array)) ? params[:file][0] : params[:file]})
photo.save
eval("@#{class_name} = #{class_object_name}.find(params[:id])")
render :partial => "shared/photo_box",locals: {photo: photo}
end
define_method("delete_photo") do
object = class_object.find(params[:id])
photo = object.album_photos.find(params[:photo_id])
photo.destroy
render text: "ok"
end
define_method("update_ruby_gallery_position") do
object = class_object.find(params[:id])
json = params[:json]
json.each do |key,value|
id = value['id']
position = value['position']
photo = object.album_photos.find(id)
photo.update_attribute(:position, position)
end
render :text => "successful"
end
end
end
|