我有2个模型用于用户(amitians),其他是about.rb来存储他们的详细信息 他们之间有一个has_one关系但问题是每当我创建一个关于我的关于表的新的时候有一个amitan_id = null
当我尝试在rails控制台中执行相同操作时。它工作正常。
这是我的模型代码
About_amitians.rb
class AboutAmitian < ApplicationRecord
belongs_to :amitian
end
Amitian.rb
has_one :about_amitian , foreign_key: "amitian_id"
我的AboutAmitian控制器
def new
@about_amitian = current_amitian.build_about_amitian
end
def create
@about_amitian = current_amitian.create_about_amitian!(about_amitian_params)
if @about_amitian.save
redirect_to :back
flash[:notice] = 'success'
else
render root_url
end
end
private
def about_amitian_params
params.require(:about_amitian).permit(:dob,:interest,:bio,:catch_phrase,:relationship_status)
end
在我的服务器日志中,我有这个查询
Update 'about_amitians' set 'amitian_id' = NULL where 'about_amitian'.'id' = 1
通过表格
发送的paramsParameters: {"utf8"=>"✓", "authenticity_token"=>"6MtQlOfl4kU1BPMDT81m8rwwxSYdaQKpUEZbvnFw9ux1nVELSTSmaRNOgUCKNyTe2VrrkY01Ewn70hGWn/9wQg==", "about_amitian"=>{"dob"=>"m", "interest"=>"vm", "bio"=>"blyhjb", "catch_phrase"=>"hjkl", "relationship_status"=>"bljhbl"}, "commit"=>"Create About amitian"}
答案 0 :(得分:0)
我终于解决了,但这是疯了...... 代码中的一切都很好..问题完全不同于我的假设。 每当我提交表单时,一切都是fyn,我的amitian_id设置正确。但每当我重定向到我的新页面时...我的amitian_id更新为NULL。 正如你从代码中看到的那样..我redirect_to:back(即回到new)所以我的amitian_id更新为null。