У меня есть такие модели:
class User < ActiveRecord::Base
has_one :business
end
class Business < ActiveRecord::Base
belongs_to :user
has_many : locations
accepts_nested_attributes_for :locations, :reject_if => lambda { |a| a[:location].blank?}
atr_accessible :name, :locations_attributes
...
end
class Location < ActiveRecord::Base
belongs_to :business
...
end
когда я заполняю адрес в форме и отправляю форму для действия create
BusicationsController, журнал показывает, что параметры верны:
...
"business"=>{"name"=>"sos","locations_attributes"=>{"0"=>{"address"=>"location1"}, "1"=>{"address"=>"location2"}}}
...
В действии create
BuseriesController
# :Post /usres/1/businesses
def create
@user = User.find(params[:user_id])
@business = @user.build_business(params[:business])
if @business.save
...
else
...
end
end
Я проверил журнал и обнаружил, что @business.save
не вставил в базу данных какую-либо информацию о местоположениях, а только информацию о бизнесе, но params[:business]
явно содержит хэш местоположений, так что, где я был не прав?