0

私はコントローラメソッドを持っています:

def latest_blogs
  @latest_blogs = BlogEntry.all.order('dato DESC').limit(4)
end

私のホームページとして機能するルート html.erb ファイル:

<div class="body-box">
  <div class="body-content">
    <%= render :partial => 'blog_list' %>
  </div>
</div>

blog_list パーシャル:

<div class="blog-list">
  <%= latest_blogs.each do |blog| %>
    <%= render :partial => "blog_preview",  locals: {blog: blog} %> 
  <% end %>
</div>

そして、今のところ単なるスタブである blog_preview パーシャル:

<div class="blog-preview">
 <%= blog.title %>
</div>

私の routes.rb エントリ:

resources :blog_entries
root :to => 'home#blog_home', :as => 'root'

表示するルート ページを読み込んでいるときにアプリに通知するにはどうすればよいlatest_blogsですか? ありがとう。

4

3 に答える 3

1

まず、このメソッドをコントローラーに含めないでください。代わりにモデルに入れます

class BlogEntry < ActiveDirectory::Base
  def self.latest (n = 4)
    all.order('dato desc').limit(n)
  end

次に、次のように使用します。

BlogEntry.latest

このメソッドはリレーションでも使用できることに注意してください。

user.blog_entries.latest(1)   #=> returns last user blog entry
于 2013-08-08T14:54:32.330 に答える