Rails Parts

Merb parts ported to rails.

As it’s initial and a bit experimental implementation please note that API can change (currently it’s copied from Merb)

Install

Just add such line to Gemfile:

gem "rails-parts", :require => "parts"

and run:

bundle install

Usage

Generate part class using rails generator:

rails generate part Articles index

Add some logic to index method of your part:

# app/parts/articles_part.rb
class ArticlesPart < Parts::Base
  def index
    @articles = Article.limit(10)
  end
end

and to the view file linked to the part

# app/parts/views/articles_part/index.html.erb
Articles: <%= @article.map(&:title).join(", ") %>

Now you can render it in the view of any controller with:

<%= part ArticlesPart => :index %>

You can also attach params that will be available in Part as params hash:

part ArticlesPart => :index, :limit => 5

# app/parts/articles_part.rb
class ArticlesPart < Parts::Base
  def index
    @articles = Article.limit(params[:limit] || 10)
  end
end