Мнение о том, использовать ли хеш или массив, выдвигая новый элемент в Rails - PullRequest
0 голосов
/ 26 августа 2011

Я работаю над приложением Rails 3, где профиль пользователя has_many :todos. У пользователя есть три категории :todos: две, которые добавляются нажатием кнопок на других страницах, и одну, которую они могут добавить себе (через форму, напоминающую обновление статуса).

Так что меня интересуют ваши мысли о:

  1. Как лучше всего настроить его, в частности, использовать ли массивы или хэши. Я хотел бы подсчитать все :todos, а также перечислить строковые значения для отдельных категорий.
  2. Лучший способ нажать на две категории, которые не похожи на обновления статуса. Скорее всего, я бы прикрепил нажатие к кнопке, чтобы нажатие приходило на нажатие или на что-то еще.

ОБНОВЛЕНИЕ: Просто чтобы проверить ...

Модель профиля:

has_many :todo, :through => :profiles_todos
has_many :profiles_todos

Модель ProfilesTodos:

belongs_to :profile
belongs_to :todo

И profiles_todos Миграция:

(in self.up)
  t.string :category 
  t.integer :profile_id 
  t.integer :todo_id

1 Ответ

1 голос
/ 26 августа 2011

Я бы рекомендовал создать модель соединения UsersTo-dos с полем category: string.Таким образом, задачи могут быть уникальными в базе данных и могут использоваться несколькими пользователями.Используйте has_many :users_to-dos вместе с has_many :to-dos, :through => :users_to-dos, чтобы сделать @ user.to-dos массивом задач, а @ user.users_to-dos массивом объектов соединения с категорией и объектом to-do.Затем вы можете использовать метод push для добавления к задачам или создать новые объекты users_to-dos и добавить ссылку на категорию и список дел.

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