首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >渲染- Rails 3中的Pass参数

渲染- Rails 3中的Pass参数
EN

Stack Overflow用户
提问于 2012-07-01 16:22:47
回答 5查看 53K关注 0票数 14

我在这件事上见过几个问题,但一直没能解决.

在呈现部分(类似于domainname.com/memory_books/new?fbookupload=yes) )时,我试图传递一个参数

现在,我用这句话:

代码语言:javascript
复制
<%= render :partial => '/memory_books/new', :fbookupload => "yes" %>

在部分内容中,我试图通过以下方式获取using上载的内容:

代码语言:javascript
复制
<%= fbookupload %>

提供“未定义局部变量”错误,并且

代码语言:javascript
复制
<%= params.inspect %>

它不将fbookupload显示为参数。

怎样才能让部分传递的参数:fbookupload?

谢谢。

更新:

这和我在渲染中呈现的事实有关系吗?

即页面(/fbook相册/显示)

代码语言:javascript
复制
<%= render :partial => '/memory_books/new', :fbookupload => "yes" %>

正在由另一个页面(posts/show)通过以下方式呈现:

代码语言:javascript
复制
<%= render :partial => '/fbookphotos/show' %>

所以我在渲染中呈现这个。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-01 16:26:35

试试这个:

代码语言:javascript
复制
<%= render :partial => '/memory_books/new', :locals => {:fbookupload => "yes"} %>
票数 20
EN

Stack Overflow用户

发布于 2013-11-17 14:11:42

把它从后人的评论中拿出来。这种语法是正确的:

代码语言:javascript
复制
render '/memory_books/new', fbookupload: "yes"

但是,如果引用不指定局部变量,则表示相同的部分,例如

代码语言:javascript
复制
render '/memory_books/new'

然后fbookupload变量变得不可用。这同样适用于多个局部变量。

代码语言:javascript
复制
render 'my_partial', var1: 'qq', var2: 'qqq'

如果只发生一次就会起作用。但是如果代码中有类似的东西

代码语言:javascript
复制
render 'my_partial', var1: 'qq'

然后,var2将变得不可用。去想想..。

票数 17
EN

Stack Overflow用户

发布于 2012-07-01 16:42:42

按你的方式去做:

主要观点是:

代码语言:javascript
复制
<% fbookupload = "yes" %>
<%= render :partial => '/memory_books/new', :locals => {:fbookupload => fbookupload} %>

在部分:

代码语言:javascript
复制
<%= fbookupload %>

第二种选择:

理想情况下,在控制器中,或者在视图中,定义一个实例变量:@fbookupload = "yes"。那么它就随处可见了。然后部分将是:<%= @fbookupload %>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11283675

复制
相关文章

相似问题

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