Rails: как перебрать подмножество полей модели для создания поля ввода? - PullRequest
1 голос
/ 19 октября 2011

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

class User < ActiveRecord::Base
  attr_accessible :name, :email, :twitter, :dribbble, :forrst,
                  :github, :stackoverflow, :linkedin

  # validations, functions, etc.
end

На мой взгляд, я хотел бы перебрать социальные учетные записи (twitter, dribbble, forrst, github, stackoverflow и linkedin), чтобы создать для них текстовые поля следующим образом:

<%= form_for(@user) do |f| %>
  <% %w[twitter dribbble forrst github stackoverflow linkedin].each do |account| %>
    <%= account %> username: <%= f.text_field :account %>
  <% end %>
<% end %>

Как мне дать f.text_field право :account?

Спасибо

Ответы [ 2 ]

2 голосов
/ 19 октября 2011

Чтобы сохранить СУХОЙ, сделайте это:

<%= form_for(@user) do |f| %>
  <% User.accessible_attributes.each do |account| %>
    <%= account %> username: <%= f.text_field account.to_sym %>
  <% end %>
<% end %>
1 голос
/ 19 октября 2011

Попробуйте это:

<%= f.text_field account.to_sym %>
...