0

我有用戶(amitians)2模型另外一個是about.rb來存儲他們的細節 他們有他們,但問題之間的HAS_ONE關係,每當我創建一個新的關於我對錶有amitan_id = NULL爲什麼我的user_id更新爲null?

當我試圖在rails console中做同樣的事情時。它工作正常。

這裏是我的模型

代碼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 

在我的服務器日誌,我有THI的查詢

Update 'about_amitians' set 'amitian_id' = NULL where 'about_amitian'.'id' = 1 

andhere是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"} 
+0

'current_amitian'設置?!? – Fallenhero

+0

ya ..使用devise –

+0

當你添加about時,我可以知道params嗎? –

回答

0

我終於解決了這個問題,但是這是瘋狂的...... 一切都是在代碼中很好..問題是比完全DIFF我假定。 每當我提交表單一切都是fyn,並且我的amitian_id設置正確。但每當我重定向到我的新頁面...我的amitian_id更新爲NULL。 正如你可以從代碼看到的..我redirect_to:回(即回到新),所以我的amitian_id更新爲空。

+0

我看不出會發生什麼。你只是爲了呈現'new'模板而獲得更新?從你提供的代碼中,我認爲應該在'AboutAmitian'類中設置'foreign_key'選項,而不是'Amitian',但如果你說這不是問題,我就沒有更多的猜測。 –

+0

我嘗試了很多方法..每次我重新定向到新的..我得到空的更新...如果我提交後重定向到root_path ..我有我的amitian_id作爲1在我的表是正確的..但如果我再次轉到我的/新的..它將被更新爲空/ ...這對我來說現在是一個大問題? :/ –

+0

我會認爲這是一個大問題,因爲這肯定不是通常的行爲。也許你的'''''模板觸發了這個事情。 –