ruby-on-rails перебирает атрибуты объекта в шаблоне представления, также известном как файл .erb - PullRequest
2 голосов
/ 29 октября 2011

Я использую рубин на рельсах.

интересно, достижимо ли это.

Оригинальный код

<%= form_for(:page, :url=>{:action => 'create'}) do |f| %>
<table summary="Subject Form Fields" %>
<tr>
 <th>Name</th>
 <td><%= f.text_field(:name) %></td>
</tr>

<tr>
 <th>Position</th>
 <td><%= f.text_field(:position) %></td>
</tr>
<%end%>

желаемый код что-то вроде создания форм перебирая атрибуты объекта.

  <% for attribute in @subject.attributes.keys %>
  <tr>
  <td><%= attribute.humanize %></td> 
  <td><%= @subject.attributes[attribute].to_s %></td>
  </tr>
  <% end %>

поэтому я не уверен, возможно ли это.

1 Ответ

3 голосов
/ 29 октября 2011

Я считаю, что вы ищете цикл .each:

<% @subject.attributes.each do |attribute| %>
<%= attribute.humanize %>
<% end %>

, который будет проходить по каждому атрибуту @subject.Если вы также хотите перебрать ключи каждого атрибута, вам нужно добавить еще один вложенный цикл:

<% @subject.attributes.each do |attribute| %>
  <% attribute.keys.each do |key| %>
    <%= attribute.humanize %> or <%= key %>
  <% end %>
<% end %>

Надеюсь, это поможет.

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