编辑后出现更多选择框

时间:2013-06-12 17:22:45

标签: ruby-on-rails ruby-on-rails-3

我在编辑后出现了一个新的选择框。我在编辑中修改的模型是另一个使用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 个答案:

答案 0 :(得分:1)

我首先看到的是:

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

尝试

redirect_to print_path(@print)

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