component的例子问题

component的例子问题

class Sidebar::LinkController < ActionController::Base

 uses_component_template_root


  Link = Struct.new(:name, :url)
  //这里是一个结构体是吧?

  def self.find(*ignored)
   [ Link.new("pragdave", "http://blogs.pragprog.com/pragdave"),
   Link.new("automation", "http://pragmaticautomation.com")
   ]
  end
  //这句是干什么的呢?


 def get_php?name=link" onclick="tagshow(event)" class="t_tag">links
  @links = self.class.find(:all)
  //这句又是什么意思?
  render(:layout => false)
 end

end
Struct.new 是实例化一个结构,没错。
*ignored是一个参数列表,意思是指所有参数都会以数组形式传入ignored变量。
这个find方法返回了一个包含两个Link实例的数组。

self.class返回一个类的名称,再从这个类名里调用find方法。其实self.class.find(:all)这句就是调用LinkController.find方法。

我可能说的不是太清楚。