Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rails中循环使用ActiveRecord值?_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails 如何在Rails中循环使用ActiveRecord值?

Ruby on rails 如何在Rails中循环使用ActiveRecord值?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我的表中有以下列: 价值1 价值2 价值3 价值4 价值5 我希望能够像这样循环通过它们: <% for i in 1..5 %> <div><%= user."value#{i}"</div> <% end %> 尝试使用send(参见Ruby)。您可以使用send方法将方法名作为字符串发送到任何对象。下面的示例就是您要查找的内容 <% for i in 1..5 %> <div><%= user.

我的表中有以下列:

价值1 价值2 价值3 价值4 价值5

我希望能够像这样循环通过它们:

<% for i in 1..5 %>
  <div><%= user."value#{i}"</div>
<% end %>


尝试使用
send
(参见Ruby)。

您可以使用
send
方法将方法名作为字符串发送到任何对象。下面的示例就是您要查找的内容

<% for i in 1..5 %>
  <div><%= user.send("value#{i}") %></div>
<% end %>

哇,除非您的属性的命名约定真的不好,否则
send
方法只能让您走到一半。属性名称是否真的按顺序编号

以下是如何在属性之间循环,而不考虑它们的名称:

<% user.attributes.each do |name, value| %>
  <div>
    <%= name %>: <%= value %>
  </div>
<% end %>

: 

我希望这有帮助,如果您有任何问题,请告诉我。

谢谢,正是我需要的!鲁比太棒了,没问题。是的,鲁比太棒了!:)问题是它会处理所有属性。他的Rails应用程序完全有可能与一些格式糟糕/命名错误的遗留数据库交互,其中有5个字段名为“contact1”、“contact2”等等。这肯定会循环遍历所有属性,如广告所示。如果您想删除一些,可以使用select方法轻松完成。我只是不想让他觉得他必须这样命名字段才能循环遍历它们。就像Mike说的,数据库中有一些可怕的东西看起来像这样:value1,value2,value3,value4,value5。是的,它们是按顺序编号的。不过这一点很好。