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
|
# File 'app/controllers/generic_ajax_controller.rb', line 5
def update_model_with_value
model_name = params[:model]
id = params[:id]
attribute = params[:attribute]
update_value = params[:value]
model = model_name.constantize
instance = model.find_by_id(id)
if (instance.nil?)
return render :text => "#{model_name} does not have a row with an id of #{id}"
end
unless instance.attributes.has_key? attribute
return render :text => "#{model_name} does not have the attribute #{attribute}"
end
unless can? :update, instance
return render :text => "Do not have permission to modify #{model_name}"
end
result = instance.update_attribute(attribute, update_value)
if result
return render :text => "Success"
else
return render :text => "Failure on update_attribute"
end
end
|