12
Rails局部模板中的可选局部变量:如何摆脱(已定义?foo)混乱?
我一直是个坏孩子,如果在渲染局部变量时未在:locals哈希中明确定义值,则在局部模板中使用以下语法设置局部变量的默认值- <% foo = default_value unless (defined? foo) %> 直到最近,这(似乎我无法辨别)未通过的变量开始表现出来就好像它们已被定义为nil(而不是未定义)一样,似乎一直很好。 正如SO的各种乐于助人的人指出的那样,http://api.rubyonrails.org/classes/ActionView/Base.html说不要使用 defined? foo 而是使用 local_assigns.has_key? :foo 我正在尝试修改自己的方式,但这意味着要更改很多模板。 我可以/应该提前收费并在所有模板中进行此更改吗?我需要注意什么技巧吗?我需要多么努力地测试每一个?