2016-06-14 93 views
2

我想用户信息加入到2代表的表关联是协会类型不匹配

Distributor Table: 

    class Distributor < ApplicationRecord 

      has_one :authentication, dependent: :destroy 
    end 

Authentication Table 

    class Authentication < ApplicationRecord 

     belongs_to :distributor 
     belongs_to :user 

     validates :email,presence: true 



     before_save :create_remember_token 

     private 
     def create_remember_token 
      self.remember_token = SecureRandom.urlsafe_base64 
     end 

     end 

Authentication table details 


    Authentication(id: integer, email: string, password: string, created_at: datetime, updated_at: datetime, admin: boolean, remember_token: string, user_id: integer, mail_confirmation: boolean, distributor: boolean, distributor_id: integer) 

控制器创建

def create 
     @distributor = Distributor.new(distributor_params) 
     if @distributor.save 
     params[:distributor][:distributor_id] = @distributor.id 
     params[:distributor][:password] = "Default" 
     params[:distributor][:distributor] = "true" 
     @authe_distributor = Authentication.new(authen_distributor_params) 
     if @authe_distributor.save 
       redirect_to @distributor 
     else 
       render 'new' 
     end 
     else 
     render 'new' 
     end 

    end 

每当我尝试添加我得到这个细节错误..任何人告诉我我做错了什么..

enter image description here

回答

1

您的Authentication模型具有同名的列和关联:分销商。这是有问题的,因为尽管您试图将名为distributionr的列设置为"true",但试图将关联设置为导致异常的值。

重命名列或关联,以便不再发生此冲突,问题应该消失。

+0

非常感谢你:) – Pranavadurai