Class: Clot::ErrorMessagesFor
- Inherits:
-
Liquid::Tag
- Object
- Liquid::Tag
- Clot::ErrorMessagesFor
show all
- Includes:
- TagHelper
- Defined in:
- lib/clot/form_for.rb
Instance Method Summary
collapse
Methods included from TagHelper
#resolve_value, #split_params
Constructor Details
#initialize(name, params, tokens) ⇒ ErrorMessagesFor
Returns a new instance of ErrorMessagesFor.
188
189
190
191
|
# File 'lib/clot/form_for.rb', line 188
def initialize(name, params, tokens)
@_params = split_params(params)
super
end
|
Instance Method Details
#error_message(attr, msg) ⇒ Object
224
225
226
227
228
229
230
|
# File 'lib/clot/form_for.rb', line 224
def error_message(attr, msg)
unless attr == :base
"#{attr} - #{msg}"
else
msg
end
end
|
#render(context) ⇒ Object
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
# File 'lib/clot/form_for.rb', line 194
def render(context)
@params = @_params.clone
@model = context[@params.shift]
result = ""
if @model and @model.respond_to?(:errors) and @model.errors.count > 0
@suffix = @model.errors.count > 1 ? "s" : ""
@default_message = @model.errors.count.to_s + " error#{@suffix} occurred while processing information"
@params.each do |pair|
pair = pair.split /:/
value = resolve_value(pair[1], context)
case pair[0]
when "header_message" then
@default_message = value
end
end
result += '<div class="errorExplanation" id="errorExplanation"><h2>' + @default_message + '</h2><ul>'
@model.errors.each do |attr, msg|
result += "<li>#{error_message(attr, msg)}</li>"
end if @model.respond_to? :errors
result += "</ul></div>"
end
result
end
|