Nicolas Mérouze (author)
8 days ago
| name | age | message | |
|---|---|---|---|
| |
CHANGELOG | Sun May 04 10:59:14 -0700 2008 | [Nicolas Mérouze] |
| |
MIT-LICENSE | Sun May 04 10:59:14 -0700 2008 | [Nicolas Mérouze] |
| |
README.rdoc | Sun May 04 10:59:14 -0700 2008 | [Nicolas Mérouze] |
| |
init.rb | Sun May 04 10:59:14 -0700 2008 | [Nicolas Mérouze] |
| |
lib/ | Sun May 04 10:59:14 -0700 2008 | [Nicolas Mérouze] |
README.rdoc
Action Presenter
Inspired by : http://www.caboo.se/articles/2007/8/23/simple-presenters
Warning
Works only with Edge Rails.
Install
ruby script/plugin install git://github.com/nmerouze/action_presenter.git
Usage
Here’s a presenter :
class ArticlePresenter < ActionPresenter::Base
def title
h @source.title
end
end
And to call it in the views, there are 2 helpers :
<%= present(@article).title %> or <%= p(@article).title %>
Render files
You can also render files for a presenter method :
class ArticlePresenter < ActionPresenter::Base
def title
render :title
end
def body
render :body, :msg => 'Hello World!'
end
end
The partial for title will be located in app/presenters/article/_title.html.erb :
<%=h article.title %>
The partial for body will be located in app/presenters/article/_body.html.erb :
<%= article.body + msg %>
Presenters in your plugins
You can have presenters in plugins. Just create a directory app/presenters and you’re ready to go. It’s great if you have Engines too.
Contact
nicolas.merouze (at) gmail (dot) com




