2012-03-15 53 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