我正在创建一个使用元问题模型来创建报告的报告系统。基本上我有一个表格,其中包含以下几个问题:
变量表:
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">
答案 0 :(得分:1)
您似乎收到了简单字符串"parameter"
,因为您在@report_head_id
操作中将:parameter
设置为符号new
。
在new
操作中,请尝试使用@report_head_id = params[:parameter]
。