首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将参数传递给另一个控制器并在ruby中打开新页

如何将参数传递给另一个控制器并在ruby中打开新页
EN

Stack Overflow用户
提问于 2015-01-12 02:48:45
回答 2查看 1.1K关注 0票数 0

在我的项目信息页,我需要生成一个报告用户选择的项目编号和日期。如何从项目信息视图(project/report.html.erb)打开报表页(例如从project/report.html.erb)?

我觉得需要将参数从视图页传递到另一个控制器(噪音设备的控制器),然后调用一些功能(或路由器?)若要为噪音设备的报表生成新的报表页,请执行以下操作。怎样才能做到呢?在加工之前,我需要了解哪些知识?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-12 03:38:13

project/report.html.erb中,可以使用render方法调用noisedevice/_report.html.erb视图,如下所示:

代码语言:javascript
运行
复制
<%= render "noisedevice/report", locals: { some_date: some_date, project_id: project_id } %>

有关调用另一个控制器的视图的更多细节,请参见2.2.3从另一个控制器呈现动作模板 at RailsGuides。

3.4.4传递局部变量获取有关传递本地参数的详细信息。

那本指南上的整页值得一看。

票数 1
EN

Stack Overflow用户

发布于 2015-01-12 03:38:19

您可以通过如下链接传递参数:

代码语言:javascript
运行
复制
<%= link_to new_noisedevice_path({ report_id: @report.id, date: @date })

这将生成一个get请求,并将参数附加到URL中,如下所示:

代码语言:javascript
运行
复制
http://localhost:3000/noisedevices/new?report_id=5&date=xxx

然后,您可以像这样获取参数:

代码语言:javascript
运行
复制
@report = Report.find(params[:report_id])
@date = params[:date]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27894641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档