<p>Is there a shortcut for giving a limit and order when accessing a has_many relation in an ActiveRecord model?</p>

<p>For example, here's what I'd like to express:</p>

<pre><code>@user.posts(:limit =&gt; 5, :order =&gt; "title")
</code></pre>

<p>As opposed to the longer version:</p>

<pre><code>Post.find(:all, :limit =&gt; 5, :order =&gt; "title", :conditions =&gt; ['user_id = ?', @user.id])
</code></pre>

<p>I know you can specify it directly in the has_many relationship, but is there a way to do it on the fly, such as showing 10 posts on one page, but only 3 on another?</p>

I have something similar in a blog model:
```
```
has_many :posts, :class_name => "BlogPost", :foreign_key => "owner_id",
    :order => "items.published_at desc", :include => [:creator] do
      def recent(limit=3)
        find(:all, :limit => limit, :order => "items.published_at desc")
      end
  end
```
```
Usage:
```
```
Blog.posts.recent
```
```
or
```
```
Blog.posts.recent(5)
```
```