我在编辑后出现了一个新的选择框。我在编辑中修改的模型是另一个使用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
编辑:
修正了问题。
答案 0 :(得分:1)
我首先看到的是:
def create
@blackwhite = Blackwhite.new(params[:blackwhite])
@blackwhite.print_id = @print.id
render :action => 'new' <<<< ?????
end
尝试
redirect_to print_path(@print)
这将是典型的默认操作,显示刚刚创建的数据,或者在嵌套的情况下,显示刚刚创建的记录的父级。您真正需要做的就是在创建后停止渲染新动作,这不对!