27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/error_messages_for.rb', line 27
def error_messages_for(object_names = [], view_partial = nil)
object_names = [object_names]
object_names.flatten!
app_errors = []
object_names.each do |name|
object = instance_variable_get("@#{name}")
if object
object.errors.each do |key, value|
if value.match(/^\^/)
app_errors << value[1..value.length]
else
if key.class == String and key == "base"
app_errors << "#{value}"
else
app_errors << "#{object.business_name} #{key.underscore.split('_').join(' ').humanize} #{value}"
end
end
end
end
end
unless app_errors.empty?
if view_partial.nil?
if File.exist?("#{RAILS_ROOT}/app/views/application/_error_messages.rhtml")
render :partial => "application/error_messages", :locals => {:errors => app_errors}
else
render :inline => DEFAULT_PARTIAL, :locals => {:errors => app_errors}
end
else
render :partial => view_partial, :locals => {:errors => app_errors}
end
else
""
end
end
|