Ruby on rails Rails—如何在模型中使用字符串访问同名属性?

Ruby on rails Rails—如何在模型中使用字符串访问同名属性?,ruby-on-rails,Ruby On Rails,为了干燥,我将索引页模板化为部分。 传递到分部的:局部变量的一部分如下所示: :locals => { :data_set => @accounts # @accounts is set in the controller as @accounts = Account.find(:all) :attr_1 => "name" } 我希望在部分中能够做到以下几点: <% data_set.each do |d| %> <%= d.

为了干燥,我将索引页模板化为部分。 传递到分部的:局部变量的一部分如下所示:

:locals => { :data_set => @accounts # @accounts is set in the controller as @accounts = Account.find(:all)
             :attr_1 => "name" }
我希望在部分中能够做到以下几点:

<% data_set.each do |d| %>
  <%= d.:attr_1 %>
<% end %>

我以前的尝试都以打印“name”而不是我想要的d.name的内容结束


有没有一种方法可以实现这一点,或者有更好的方法来完成我正在尝试的工作?

您正在为键attr\u 1分配值“name”。永远都是名字

如果数据集中的对象有一个名为name的属性,则根本不需要第二个变量。你只需要做

<% data_set.each do |d| %>
  <%= d.name %>
<% end <%>


事实上,我需要把这件事搞得一团糟。使用d.send是我所需要的,谢谢=]
<%= d.send attr_1 %>