Ruby on Rails - несколько значений для данных формы - PullRequest
0 голосов
/ 18 апреля 2011

Я новичок в рельсах, и я хочу сделать простую страницу, которая позволит пользователю перечислять свои навыки работы на компьютере.

Мне нужно, чтобы поля создавались динамически, нажимая «Добавить еще один навык». Я нашел несколько JS, которые могут это сделать, но у меня проблемы с получением нескольких полей, хранящихся в одной записи базы данных в Rails.

Есть идеи?

-

Например:

Навыки

-MS Офис

-Mac OS X

-AutoCad

-StackOverflow

Добавить еще один навык

1 Ответ

1 голос
/ 18 апреля 2011

Ваш лучший вариант - добавить запись в новую таблицу для каждого навыка вместо одной записи в базе данных.

Шаги, участвующие в этом:

  1. У вас будеттаблица под названием «Навыки», в которой будет основной идентификатор и текстовое поле для текста.
  2. Добавьте has_many :skills к вашему объекту «Пользователь».
  3. В форме каждый добавленный элементбудет иметь имя что-то вроде: user[skills][].Это добавит объекты создания навыков при публикации на сервер.

Если вам нужно сохранить одну запись в базе данных, вы можете YAML сериализовать и десериализовать массив навыков (не проверено много).

require 'yaml'

def update

   user.skills = ["MS Office", "Mac OS X"].to_yaml

end

И в шаблоне:

<% YAML::load(user.skills).each do |s| %>
   <%= s %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...