2012-03-15 89 views
0

我有兩個模型,一個慈善模型和一個里程碑模型。慈善事業有許多里程碑。渲染一個孩子和父對象到指定的模板

爲了讓界面更簡單一點,我將慈善控制器的顯示視圖中的小里程碑形式。這很好,但是當慈善機構模型無法保存時,我如何返回並使用show動作呈現這些對象,以便獲取其無效狀態?

這是我在里程碑控制器上的創建操作。目前,我得到一個model_name錯誤爲零,這意味着實例變量可能沒有設置。

def create 
    @charity = Charity.find(params[:charity_id]) 
    @charity.milestones.build(params[:milestone]) 
    if @charity.save 
    redirect_to @charity, notice: "Milestone added" 
    else 
    render 'charities/show' 
    end 
end 

我知道你平日裏只是render action :new,但由於這是跨控制器,這是行不通的。想法?

回答

0

忘記設置@milestone實例變量。愚蠢的錯誤。希望這可以幫助那些在路上的人。

def create 
    @charity = Charity.find(params[:charity_id]) 
    @milestone = @charity.milestones.build(params[:milestone])  
    if @charity.save 
    redirect_to @charity, notice: "Milestone added" 
    else 
    render 'charities/show' 
    end 
end