2016-02-01 2 views
1

У меня есть таблица пользователей в Rails и она имеет 2 типа пользователей. Я связал их с полиморфными ассоциациями, мои модели:Полиморфные ассоциации и формы регистрации Rails

class User < ActiveRecord::Base 
belongs_to :owner, polymorphic: true 

class Buyer < ActiveRecord::Base 
has_one :user, as: :owner, dependent: :destroy 
accepts_nested_attributes_for :user 

class Seller < ActiveRecord::Base 
has_one :user, as: :owner, dependent: :destroy 
accepts_nested_attributes_for :user 

мне нужна регистрационная форма в формате HTML для новых пользователей и автоматически определить их тип (каждый тип пользователя имеет свою собственную регистрационную ссылку)

Как я управлять контроллерами и формой HTML для этого? Пользователь заполнит форму информацией для модели пользователя и покупателя или продавца.

Спасибо

ответ

0

Вам нужно 2 маршрутов, один для покупателя, а другой для продавца. И тогда вы можете использовать помощников формы Rail:

<%= form_for :buyer do |f| %> 
    <%= f.fields_for :user %> 
    [your user fields here] 
    <% end %> 
<% end %> 

Форма аналогична продавцу.

+0

Спасибо! Нужно ли мне менять методы контроллера? Или можете оставить как 'def new @buyer = Buyer.new end'? –

+0

Новые и правки должны быть такими же. Возможно, потребуется создать и обновить создание и обновление. –

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