我是一個Ruby on Rails的新手,在關聯對象的情況下,有一個關於觀點的邏輯問題:顯示關聯對象
我的模型類似於
class Post < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :post
end
而我想顯示爲類似於所有帖子的列表以及每個帖子的前三個評論。
所以,我不停的後位指示索引操作簡單
class PostController < ApplicationController
#..
def index
@posts = Post.find(:all)
end
#..
end
現在在views/posts/index.html.erb
我可以做這樣的事情@posts.comments
我可以循環的前三項。但是,如何訪問模型(在這種情況下是相關模型)中正常完成的功能,如視圖(或控制器)中的排序,範圍等?
我會對你的例子做一些小的修改: 1)你不需要指定範圍的proc。只是做named_scope:最近:限制=> 3,:訂單... 2)在視圖中,我會使用部分: <%= render:partial「comment」,:collection => @ post.comments.recent% > Rails將發送由named_scope返回的數組,併爲您呈現局部循環。 – scottd 2009-06-22 19:18:27
謝謝ScottD!我更新了這個例子。 – 2009-06-22 19:36:13