2013-06-12 35 views
0

编辑后出现新的选择框。我在编辑中修改的模型是使用fields_for选项的另一个模型。编辑后出现更多选择框

有人提到我有新的问题,并在控制器中创建操作。

电流控制器:

def new 
    @print = Print.new 
end 

def create 
    @print = Print.new(params[:print]) 
    @print.user_id = current_user.id 
    if @print.save 
    redirect_to print_path(@print), :flash => { :success => "Successfully created your Print Order." } 
    else 
    render :action => 'new' 
    end 
end 

def edit 
    @print = Print.find(params[:id]) 
    @print.blackwhites.build 
end 

的fields_for从模型编辑数据:

def index 

    def new 
    @blackwhite = Blackwhite.new 
    end 

    def create 
    @blackwhite = Blackwhite.new(params[:blackwhite]) 
    @blackwhite.print_id = @print.id 
    end 

    def update 
    @blackwhite = Blackwhite.find(params[:id]) 
    end 

    def show 
    @blackwhite = Blackwhite.find(params[:id]) 
    end 

    def edit 
    @blackwhite = Blackwhite.find(params[:id]) 
    end 

编辑:

固定的问题。

回答

1

的第一件事,我看到:

def create 
    @blackwhite = Blackwhite.new(params[:blackwhite]) 
    @blackwhite.print_id = @print.id 
    render :action => 'new' <<<< ????? 
end 

尝试

redirect_to print_path(@print) 

这将是典型的默认的事情,表明刚刚创建的,或在您的嵌套的情况下,显示的数据刚刚创建的记录的父项。你真正需要做的就是在你创建后停止渲染新的动作,这是不对的!

+0

哦,是的。在else语句之后。 – muhammadn