No description or website provided.



Use ar-presenter instead :

Action Presenter

Inspired by :


  • Rails 2.1 and later.


ruby script/plugin install git://


Here's a presenter :

class ArticlePresenter < ActionPresenter::Base def title h @source.title end end

And to call it in the views, there are present() and p() :

<%= present(@article).title %> or <%= p(@article).title %>

Instead of a tradionnal loop or iterator, you can use present() :

<% present(@articles) do |article| %> <h2><%= article.title %></h2> <% end %>

If you want to use methods from the source record inside the iterator (or somewhere else), you just have to use source() or s() :

<% present(@articles) do |article| %> <h2><%= h source(article).title %></h2> <% end %>

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, but you must have Engines installed. Just create a directory app/presenters and you're ready to go.


nicolas.merouze (at) gmail (dot) com