私は BikeShops モデルを持っています:
class BikeShop < ActiveRecord::Base
has_one :user, :as => :profile, :dependent => :destroy
accepts_nested_attributes_for :user
end
そしてユーザーモデル:
class User < ActiveRecord::Base
belongs_to :profile, :polymorphic => true
end
bike_shops/new ビューでネストされたフォームを作成しようとしています。私が持っているコードは次のとおりです。
<%= form_for(@bike_shop) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<%= f.label :name, 'Shop Name' %>
<%= f.text_field :name %>
<%= f.label :street_address, 'Street Address' %>
<%= f.text_field :street_address %>
<%= f.label :city, 'City' %>
<%= f.text_field :city %>
<%= f.label :state, 'State' %>
<%= f.text_field :state %>
<%= f.label :zip_code, 'Zip Code' %>
<%= f.text_field :zip_code %>
<%= f.label :phone_number, 'Phone Number' %>
<%= f.text_field :phone_number %>
<%= f.label :website, 'Website' %>
<%= f.text_field :website %>
<% f.fields_for(:user) do |builder| %>
<%= builder.label :first_name, 'First Name:' %>
<%= builder.text_field :first_name %>
<%= builder.label :last_name, 'Last Name:' %>
<%= builder.text_field :last_name %>
<%= builder.label :email, 'Email:' %>
<%= builder.text_field :email %>
<%= builder.label :password, 'Password:' %>
<%= builder.password_field :password %>
<%= builder.label :password_confirmation, 'Password Confirmation:' %>
<%= builder.password_field :password_confirmation %>
<% end %>
<%= f.submit "Signup My Bike Shop", class: "btn btn-large btn-primary" %>
<% end %>
@bike_shop のフィールドは表示されますが、has_one @user のネストされたフィールドは表示されません。BikeShops コントローラーのコードは次のとおりです。
class BikeShopsController < ApplicationController
def new
@bike_shop = BikeShop.new
@user = @bike_shop.build_user
end
このRailscastをフォローしていましたが、ネストされたフォームを表示するためのフィールドを取得できません。どんな助けでも大歓迎です。