按名称获取ActiveRecord的属性

Ant*_*nAL 3 ruby attributes ruby-on-rails object

我有一个部分,将用于项目的许多地方.

它呈现与指定标记相关的项目,如:

@tag.articles.each do |a|
    # render articles
end
Run Code Online (Sandbox Code Playgroud)

我需要这个部分不仅可以呈现文章,还可以呈现与标签相关的任何其他项目.

所以,这个partial有一个参数association_name,如下所示:

@tag[association_name].each do |a|
    # render articles
end
Run Code Online (Sandbox Code Playgroud)

我通过以下方式称之为偏:

# to render articles
render :partial => "items", :locals => {:association_name => "articles"}

# to render videos
render :partial => "items", :locals => {:association_name => "videos"}

# etc.
Run Code Online (Sandbox Code Playgroud)

问题是 - 我不能以某种方式引用Article模型的字段:

@article[association_name]
Run Code Online (Sandbox Code Playgroud)

怎么做以及它为什么不起作用?

Dog*_*ert 5

@article.send(association_name)
Run Code Online (Sandbox Code Playgroud)