为什么我的user_id更新为null?

时间:2017-02-16 10:04:30

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2

我有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

通过表格

发送的params
Parameters: {"utf8"=>"✓", "authenticity_token"=>"6MtQlOfl4kU1BPMDT81m8rwwxSYdaQKpUEZbvnFw9ux1nVELSTSmaRNOgUCKNyTe2VrrkY01Ewn70hGWn/9wQg==", "about_amitian"=>{"dob"=>"m", "interest"=>"vm", "bio"=>"blyhjb", "catch_phrase"=>"hjkl", "relationship_status"=>"bljhbl"}, "commit"=>"Create About amitian"}

1 个答案:

答案 0 :(得分:0)

我终于解决了,但这是疯了...... 代码中的一切都很好..问题完全不同于我的假设。 每当我提交表单时,一切都是fyn,我的amitian_id设置正确。但每当我重定向到我的新页面时...我的amitian_id更新为NULL。 正如你从代码中看到的那样..我redirect_to:back(即回到new)所以我的amitian_id更新为null。