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个现有答案对象以及您在上面创建的全新答案对象。