【发布时间】:2014-09-05 04:11:50
【问题描述】:
我正在 Rails 4.0.4 中构建一个有两个用户(买家和卖家)的登录系统。
对于身份验证,我使用的是 Devise gem:https://github.com/plataformatec/devise
要创建一个新的买家,我使用路由买家/新。但是,用户的字段不会显示在视图中。我还使用调试在视图中显示 @buyer.user 并且它已经创建。但是当我调用 f.fields_for @buyer.user do |u| 时,永远不会进入循环。
有什么想法吗?此外,多态关联似乎在 rails 控制台中起作用。
买方控制员:
# GET /buyers/new
def new
@buyer = Buyer.new
@buyer.build_user
end
买方模式
class Buyer < ActiveRecord::Base
has_one :user, as: :role
accepts_nested_attributes_for :user
end
买家/新观点
<%= form_for(@buyer) do |f| %>
....
<div class="field">
<%= debug(@buyer.user) %>
<% f.fields_for @buyer.user do |u| %>
<%= u.text_field :email %>
<% end %>
</div>
用户模型
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
belongs_to :role, polymorphic: true
【问题讨论】:
标签: ruby-on-rails nested-attributes polymorphic-associations