论坛首页 入门技术论坛

rails2.0中局部模板命名和flash的访问

浏览 2126 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-01-16  
今天在遇到这样一个问题.在partial里提示flash为nil,我想不可能阿..

为了测试,我新建了一个全新的rails项目, 只创建了一个空的controller:flash 且只有一个方法 index
rails2.02版本

为了方便管理flash,我把flash放在了partial里.
我建了这几个局部文件:

views/shared/_flash.erb
views/shared/_flash_1.erb
views/layouts/_flash.erb
views/layouts/_flash_1.erb

他们的内容都是 :
Class:<%= flash.class %>


在全局模板中全部渲染:
<%= render :partial => "shared/flash" %>


然后测试
输出结果是:


引用
In views/shared/_flash.erb :
ClassNilClass

In views/shared/_flash_1.erb:
Class:ActionController::Flash::FlashHash

In views/layouts/_flash.erb:
Class:NilClass

In views/layouts/_flash_1.erb:
Class:ActionController::Flash::FlashHash


不知道这个是不是一个bug,局部文件不能用_flash来命名..
我猜是rails里面的一些命名约定造成的吧..

有人遇到这个问题么?
   发表时间:2008-01-16  
flash是rails的特殊对象,看文档
0 请登录后投票
   发表时间:2008-01-16  
Readonly 写道
flash是rails的特殊对象,看文档

我当然知道flash是特殊的方法,但是不能说你一个方法叫flash,连模板都不能用flash来命名吧。。
如果说方法和它冲突当然是我自己的问题。
模板的名字和rails的约定并没有冲突,而出现不能访问,这才是问题。
0 请登录后投票
   发表时间:2008-01-16  
干嘛叫MVC呢。。都扯到一块去了。还怎么分离呢。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics