Padrino form errors helper
This plugin is overriding standard error_messages_for and error_message_on. Now you can decide in which template will be displayed your validation messages.
Installation
Install plugin via rubygems:
gem install padrino-form-errors
And register plugin in your app.rb file:
class MyApp < Padrino::Application
register Padrino::Helpers
register Padrino::Mailer
register Padrino::FormErrors
# ...
Now you can run generator:
padrino-gen form_errors
Now in app/views/shared you’ll two new partials should be present:
_error_messages.html.*-
template for error_messages_for
_error_message.html.*-
template for error_message_on
You can freely modify views listed above.
Overriding templates
In _error_messages you can use following local variables:
object-
main object passed in arguments (or associated with form)
objects-
list of all objects passed in arguments
You can display all errors using #errors method from specified object, eg:
h3= #{object.class.human_name} couldn't be saved
ul
- objects.each do |o|
- o.errors..each do |msg|
li= msg
In _error_message there are following local variables:
object-
object passed in arguments (or associated with form)
field-
field name passed in arguments
error-
error message
Usage
You don’t have to learn nothing new about how to use functionalities provided by this plugin. Like I said it overrides standard helpers, so when you will write…
- form_for @user, url(:users_create) do |f|
= f.
-# ...
…then error messages for this form will be displayed using from your shared templates. The same is with error_messages_for and error_message_on.
Note on Patches/Pull Requests
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright
Copyright © 2010 Kriss ‘nu7hatch’ Kowalik. See LICENSE for details.