Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 转到新页面在Rails中将我的用户id设置为null_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 转到新页面在Rails中将我的用户id设置为null

Ruby on rails 转到新页面在Rails中将我的用户id设置为null,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有两种型号。。一个用于用户(amitian),另一个用于 他们有一个属于协会的组织 问题是,无论何时我创建一个新的关于它的页面,它都可以正常工作,并将我的amitian\u id设置为current\u amitian,但无论何时我再次进入我的新页面。。它将我的阿米蒂安id更新为空 例如。 这是我提交表单后的sql 在about_amitian中插入('values',amitian_id=1) 如果我再次进入新页面,它会说 更新关于\u amitian set amitian\u id=nu

我有两种型号。。一个用于用户(amitian),另一个用于 他们有一个属于协会的组织 问题是,无论何时我创建一个新的关于它的页面,它都可以正常工作,并将我的amitian\u id设置为current\u amitian,但无论何时我再次进入我的新页面。。它将我的阿米蒂安id更新为空

例如。 这是我提交表单后的sql 在about_amitian中插入('values',amitian_id=1) 如果我再次进入新页面,它会说 更新关于\u amitian set amitian\u id=null,其中关于\u amitian.id=1

这是我的控制器和模型

class AboutAmitiansController < ApplicationController

  before_action :authenticate_amitian!

  def new
    @amitian = current_amitian
  @about_amitian = @amitian.build_about_amitian
  end

  def create
    @amitian = current_amitian
    @about_amitian = @amitian.create_about_amitian(about_amitian_params)
    if @about_amitian.save
            redirect_to root_url
            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

end
在阿米蒂安 有一个:关于阿米蒂安


为什么要更新我的数据库

你真的不必在每个新的请求中重建关于阿米蒂安的
@about\u amitian
。如果您总是通过
current\u amitian
创建和更新AboutAmitian,那么仅此一项就可以保证amitian\u id的同步。尝试在你的
new
操作中使用
@about\u amitian=AboutAmitian.new
。流程看起来很奇怪,如果当前的\u amitian已经有一个about,为什么我们要为他创建一个新的?(你说这是有关系的)你在用Desive吗?通常情况下,一旦模型名称登录,当前的模型名称就可以全局访问。@Joel\u Blum是的,我有一个has\u one关系。。如果我不是从当前用户创建的,那么我如何在新函数中实现这种关系?
belongs_to :amitian