[英]Rails 4 - Polymorphic Association - Nested Attributes not showing in form
我正在Rails 4.0.4中构建一个具有两个用户(买方和卖方)的登录系统。
对于身份验证,我正在使用Devise gem: https : //github.com/plataformatec/devise
要创建新买家,请使用路线买家/新买家。 但是,该用户的字段不会显示在视图中。 我还使用debug在视图中显示@ buyer.user ,它已创建。 但是,当我调用f.fields_for @ buyer.user时,| 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
您不应该在fields_for上有一个=吗? http://rubydoc.info/docs/rails/ActionView/Helpers/FormHelper:fields_for
例如
<%= f.fields_for @buyer.user do |u| %>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.