use*_*798 10 parameters renderpartial ruby-on-rails partial ruby-on-rails-3
我已经看到了几个问题,但一直没能解决它......
我试图在渲染部分时传递参数(类似于domainname.com/memory_books/new?fbookupload=yes)
现在,我使用这一行:
<%= render :partial => '/memory_books/new', :fbookupload => "yes" %>
Run Code Online (Sandbox Code Playgroud)
在部分,我试图通过使用以下方式获取fbookupload的内容:
<%= fbookupload %>
Run Code Online (Sandbox Code Playgroud)
它给出了"未定义的局部变量"错误和
<%= params.inspect %>
Run Code Online (Sandbox Code Playgroud)
它没有显示fbookupload作为参数.
如何沿参数传递部分传递:fbookupload?
谢谢.
更新:
它是否与我在渲染中渲染它的事实有关?
即具有的页面(/ fbookphotos/show)
<%= render :partial => '/memory_books/new', :fbookupload => "yes" %>
Run Code Online (Sandbox Code Playgroud)
由(posts/show)通过另一个页面呈现:
<%= render :partial => '/fbookphotos/show' %>
Run Code Online (Sandbox Code Playgroud)
所以我在渲染中渲染它.
Som*_*ory 17
试试这个:
<%= render :partial => '/memory_books/new', :locals => {:fbookupload => "yes"} %>
Run Code Online (Sandbox Code Playgroud)
Vad*_*rov 14
把它从后代的评论中删除.这个语法是正确的:
render '/memory_books/new', fbookupload: "yes"
Run Code Online (Sandbox Code Playgroud)
但是,如果存在引用相同的局部而不指定局部变量的引用,例如
render '/memory_books/new'
Run Code Online (Sandbox Code Playgroud)
然后fbookupload变量变得不可用.这同样适用于多个局部变量,例如
render 'my_partial', var1: 'qq', var2: 'qqq'
Run Code Online (Sandbox Code Playgroud)
如果只发生一次将会工作.但是如果在代码中的其他地方有类似的东西
render 'my_partial', var1: 'qq'
Run Code Online (Sandbox Code Playgroud)
然后var2将变得不可用.去搞清楚 ...
| 归档时间: |
|
| 查看次数: |
37200 次 |
| 最近记录: |