Как перебрать значения ActiveRecord в Rails? - PullRequest
2 голосов
/ 29 октября 2010

У меня есть следующие столбцы в моей таблице:

значение1 значение2 значение3 значение4 значение5

Я хочу иметь возможность циклически проходить через них, как это:Конечно, этот код не работает, так как я могу получить значение из объекта ActiveRecord со строкой?

Ответы [ 3 ]

7 голосов
/ 29 октября 2010

Ничего себе, если у вас действительно нет плохого соглашения о присвоении имен для ваших атрибутов, метод send только приведет вас к этому. Ваши имена атрибутов действительно нумеруются последовательно?

Вот как пройтись по вашим атрибутам независимо от их имен:

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

Надеюсь, это поможет, дайте мне знать, если у вас есть какие-либо вопросы.

4 голосов
/ 29 октября 2010

Вы можете использовать метод send для отправки имени метода любому объекту в виде строки. Пример ниже - то, что вы ищете.

<% for i in 1..5 %>
  <div><%= user.send("value#{i}") %></div>
<% end %>
2 голосов
/ 29 октября 2010

Попробуйте использовать send (см. Документацию по Ruby ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...