Rails获取两步表单的id

时间:2012-11-13 23:33:14

标签: ruby-on-rails

我正在创建一个使用元问题模型来创建报告的报告系统。基本上我有一个表格,其中包含以下几个问题:

变量表:

id | name | variable_type | description | breakpoint | time_frequency

现在,系统会根据报告的时间频率等内容构建报告问题。

现在我有两张桌子来保存报告:

report_bodies表:

variable_id | report_id | value

report_heads表

id | email | name

有了这个approch,我需要创建报告,然后使用该ID保存该报告问题的答案。

我在report_heads控制器中完成了一个after_filter,以某种方式传递刚刚创建的id的下一个函数。

after_filter :go_to_report, :only => :create

最后我的空go_to_report函数

def go_to_report 
    #what to do here?
end

提前谢谢。

更新

所以,我发现我可以通过创建report_head直接调用report_bodies的新函数:

        format.html { redirect_to :new_report_body, notice: 'Report head was successfully created.', :parameter => @report_head.id }

report_bodies的新功能是:

  def new
    @report_head_id = :parameter
    @report_questions = getDailyVariables
    @report_body = ReportBody.new

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @report_body }
    end
  end

然而,当在视图中我没有收到report_head的id而是一个简单的字符串

<!-- code from the view (_form.html.erg): -->
<%= builder.hidden_field :report_id, :value => @report_head_id %>

<!-- rendered view: -->
<input id="report_bodies_report_id" name="report_bodies[report_id]" value="parameter" type="hidden">

1 个答案:

答案 0 :(得分:1)

您似乎收到了简单字符串"parameter",因为您在@report_head_id操作中将:parameter设置为符号new

new操作中,请尝试使用@report_head_id = params[:parameter]