私はRails 4.2.7を使用しています。私のモデルでは、私はRoRでは、f.fields_forは何も描画しません。
class MyObject < ActiveRecord::Base
…
belongs_to :address, :autosave => true, dependent: :destroy
accepts_nested_attributes_for :address, :my_object_times
とアドレスモデルを持っている
class Address < ActiveRecord::Base
belongs_to :state
belongs_to :country
...
has_one :my_object
end
私は私が子供と親の両方のオブジェクトを構築することができますフォームを書きたいので、私は
<%= form_for @my_object, :url => my_objects_create_path, :remote => true do |f| %>
<div class="field">
<%= f.fields_for :address do |addr| %>
<%= addr.label :address %> <span name="my_object[address]_errors"></span><br>
City: <%= addr.text_field :city %>
<%= addr.select :state, options_for_select(us_states.collect{|s| [ s.name, s.id ]}), {:prompt => "Select State"} %>
<%= country_code_select('my_object[address]', 'country_id',
[[ 'US', 'United States' ], [ 'CA', 'Canada' ]],
{:include_blank=>true, :selected => @default_country_selected.id},
{:class=>'countryField'}
) %>
<% end %>
</div>
を試してみました
ただし、上記は唯一として表示されます
<div class="field">
</div>
私のフィールドがレンダリングされるように
は、どのように私は物事を調整しないと私は使用して私のコントローラで私のオブジェクトを作成することができるよ
my_object = MyObject.new(params)
編集:答えは1が与えられ、私が試した
@my_object.address.build
フォームをrendres taht tehのコントローラのアクションから、しかしmy_object
はありません、その後、何のアドレスを持っていない場合はerorr
undefined method `build' for nil:NilClass
"@ myobject.address.new"行の "nil:NilClass"に "未定義メソッド' new "というエラーがあります – Dave
回答が更新されました。 –