我无法弄清楚要为以下场景选择哪些参数进行比较。
我想链接到我网站上的特定页面,具体取决于使用哪个范围来获取主页上显示的数据。这可能吗?
例如,我有一个职位和部门模型,关系如此
邮政
belongs_to :department
部门
belongs_to :post
我通过范围抓取帖子,然后有一种方法从其范围中抓取第一个帖子。
scope :tynewydd_posts, :include => :department, :conditions => {"departments.name" => "Ty Newydd"}, :order => "posts.published_on DESC"
scope :woodside_posts, :include => :department, :conditions => {"departments.name" => "Woodside"}, :order => "posts.published_on DESC"
然后显示每个帖子的第一个帖子
def self.top_posts
#Array with each of the 4 departments - first record
top_posts = [
self.tynewydd_posts.first,
self.woodside_posts.first,
self.sandpiper_posts.first,
self.outreach_posts.first
]
#remove entry if nil
top_posts.delete_if {|x| x==nil}
return top_posts
end
在我看来,然后我会遍历热门帖子
<% @toppost.each do |t| %>
<%= link_to 'Read more' %> <!-- Want to put a helper method here -->
<% end %>
路线
/tynewyddnews #tynewydd_posts
/woodsidenews #woodside_posts
在@toppost 实例变量中,我有可用的属性department.name,我通过我的.each 循环中的t.department.name 访问。
例如,我将如何说“如果@toppost.department.name ==“xxxx”然后link_to“/path”。只是寻找一些关于结构的提示,或者如果这可以转换为案例陈述,那将是什至更好的
谢谢