Rails 3:fields_for在编辑视图上显示空白

在我的Rails 3应用程序中,我在form_for中使用fields_for来创建和编辑问题和答案。 但是我在fields_for上编辑视图时遇到问题需要答案。 当我在DB上为1个问题注册了2个答案时,编辑视图显示2个答案加上一个空白字段。

这是模型代码和视图代码:

问题模型:

# encoding: utf-8 class Question  "Answer", :dependent => :destroy accepts_nested_attributes_for :answer , :allow_destroy => true belongs_to :research end 

答案型号:

 class Answer < ActiveRecord::Base belongs_to :question has_many :evaluate_answers attr_accessible :question_id, :description , :answer_attributes end 

最后部分用于New和Edit视图:

  { :class => "form-horizontal", :multipart => true, :onSubmit => " return teste()" } do |f| %> ... .... 

Respostas 'add_answer()'}) %>

<div id="answer_"> Delete: <a class="button_" href="#">"remove_answer(#{@number})"}) %>

一切正常,只需在编辑视图中,总会再渲染一个空白字段。 有没有办法删除这个空白字段?

编辑:

问题控制者

 def edit @question = Question.find(params[:id]) @answers = Answer.where(:question_id => @question.question_id) @number = 0 @question.answer.build @questions = Question.all end 

答案控制器

 class AnswersController < ApplicationController def index @answers = Answer.all end end 

这是因为您正在使用此行构建新的答案对象:

 @question.answer.build 

在控制器的edit操作中。

因此,当您访问编辑视图时,您会看到数据库中的2个现有答案对象以及您在上面创建的全新答案对象。