我对以下内容感到困惑,如果有人可以建议我,我将不胜感激
我的架构中包含以下表格
学校
t.string "name"
t.string "address"
t.string “town”
t.integer "category_town_id"
category_towns
t.string "name"
模型
school belongs_to :category_town
category_town has_many :schools
学校负责人
def create
@user = current_user
@school = @user.schools.create(school_params)
@school.town = @school.category_town.name
respond_to do |format|
if @school.save
redirect_to @school
else
format.html { render :new }
format.json { render json: @school.errors, status: :unprocessable_entity }
end
end
end
我想做的是:
category_town_id = 2
后,将town
分配给与category_town_id = 2
相同的信息@school.category_town.name
是London
,请确保@school.town
也是London
@school.town = @school.category_town.name
的create动作中执行此操作,但这似乎不起作用您的建议将不胜感激
答案 0 :(得分:0)
@school = @user.schools.create(school_params)
@school.update_attributes(town: @school.category_town.name)
OR
@school = @user.schools.new(school_params)
@school.town = @school.category_town.name
@school.save
第一个将创建记录,然后更新学校对象上的属性。第二个将初始化学校的新实例,调整镇属性。但是然后您需要在对象上调用save来保存更改