2015-12-07 2 views
0

Я довольно новичок в RoR, и я пытаюсь создать приложение, на котором пользователи могут мультисоциализировать состояния (флажки) и иметь сохраненные варианты (подумайте «какие состояния я был» для тип вещи). Создавая класс, который имеет эти атрибуты, как лучше всего подойти к эшафоту и отобразить их? Я полагаю, что все 50 штатов в Лесах, вероятно, не подходят.Создание приложения с флажком 50 штатов США в Ruby

ответ

0

У вас может быть столбец массива в вашей модели, где вы храните идентификаторы состояний, но это не очень хорошее решение.

Лучшее решение, которое я хотел бы сказать, чтобы создать промежуточную таблицу (поскольку одно состояние может быть проверено несколькими пользователями, и пользователь может проверить несколько состояний) с помощью модели, связанной с ней:

class User < ActiveRecord::Base 
    belongs_to :state_check 
    has_many :states, through: :state_checks 
end 

class StateCheck < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :state 
end 

class State < ActiveRecord::Base 
    belongs_to :state_check 
    has_many :users, through: :state_checks 
end 

Таким образом, вы можете сделать что-то вроде:

@user.states 

И в итоге вы можете добавить больше материала в отношение в таблице state_check.

Возможно, вы должны прочитать: http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association

Смежные вопросы