在我的项目信息页,我需要生成一个报告用户选择的项目编号和日期。如何从项目信息视图(project/report.html.erb)打开报表页(例如从project/report.html.erb)?
我觉得需要将参数从视图页传递到另一个控制器(噪音设备的控制器),然后调用一些功能(或路由器?)若要为噪音设备的报表生成新的报表页,请执行以下操作。怎样才能做到呢?在加工之前,我需要了解哪些知识?
谢谢。
发布于 2015-01-12 03:38:13
在project/report.html.erb中,可以使用render方法调用noisedevice/_report.html.erb视图,如下所示:
<%= render "noisedevice/report", locals: { some_date: some_date, project_id: project_id } %>有关调用另一个控制器的视图的更多细节,请参见2.2.3从另一个控制器呈现动作模板 at RailsGuides。
和3.4.4传递局部变量获取有关传递本地参数的详细信息。
那本指南上的整页值得一看。
发布于 2015-01-12 03:38:19
您可以通过如下链接传递参数:
<%= link_to new_noisedevice_path({ report_id: @report.id, date: @date })这将生成一个get请求,并将参数附加到URL中,如下所示:
http://localhost:3000/noisedevices/new?report_id=5&date=xxx然后,您可以像这样获取参数:
@report = Report.find(params[:report_id])
@date = params[:date]https://stackoverflow.com/questions/27894641
复制相似问题