相关疑难解决方法(0)

rails部分模板中的可选局部变量:如何摆脱(定义的?foo)混乱局面?

我是一个坏孩子,并在我的部分模板中使用以下语法来设置局部变量的默认值,如果在渲染部分时未在:locals哈希中显式定义值 -

<% foo = default_value unless (defined? foo) %>
Run Code Online (Sandbox Code Playgroud)

直到最近,这似乎工作正常(当时我无法辨别)未通过的变量开始表现得好像它们被定义为nil(而不是未定义).

正如SO上各种乐于助人的人所指出的,http://api.rubyonrails.org/classes/ActionView/Base.html表示使用

defined? foo
Run Code Online (Sandbox Code Playgroud)

而是使用

local_assigns.has_key? :foo
Run Code Online (Sandbox Code Playgroud)

我正在尝试修改我的方法,但这意味着要更改很多模板.

可以/我应该提前充电并在所有模板中进行此更改吗?我需要注意什么诡计?我需要多努力地测试每一个?

ruby-on-rails partials

221
推荐指数
6
解决办法
8万
查看次数

标签 统计

partials ×1

ruby-on-rails ×1