我正在使用Rails 4.2.3在我的数据库中,我有一个“my_objects”表,其中“address_id”是返回“地址”表的外键。我在app / models / my_object.rb文件中有这个...
.list
然后在我的app / controller / my_objects_controller.rb中我有
class MyObject < ActiveRecord::Base
belongs_to :address, :autosave => true, dependent: :destroy
attr_accessor :address, :hour, :minute, :second, :location
但是,当我保存将表单提交到“创建”方法时,使用这些参数
def create
@my_object = MyObject.new(my_object_params)
…
respond_to do |format|
if @my_object.save
format.html { redirect_to controller: "my_objects", action: "index", notice: 'Saved successfully.' }
format.js { render js: "window.location='/my_objects'" }
else
format.html { render action: "index" }
format.json { render json: @my_object.errors, status: :unprocessable_entity }
format.js { render json: { errors: @my_object.errors, success: false }, content_type: 'application/json' }
end
private
def my_object_params
params.require(:my_object).permit(:name, :day, :distance, :distance_unit_id, address: [:city, :state_id, :country_id], my_object_times_attributes: [:time_in_ms, :overall_rank, :age_group_rank, :gender_rank])
end
我的“my_objects”表中没有创建地址对象。填充所有其他字段,但address_id列为空。我该如何解决这个问题?
答案 0 :(得分:0)
在我最初的观察中,
"address"=>{"city"=>"austin"}
在上面的哈希中,地址的类型为“text”。
你提到了外键“address_id”,它可能是'整数'。
可能存在数据类型问题。
答案 1 :(得分:0)
不会重复#address
的定义吗?您已将其设置为关联(与belongs_to
)和实例变量(与attr_accessor
)。
哦,attr_accessor
应该是attr_accessible
吗?