我試圖清理從此我的代碼...使用定義?在三元操作符
<% if defined? foo == "local-variable" %>
<% foo = foo %>
<% else %>
<% foo = nil %>
<% end %>
要使用三元運算符是這樣的...
<% defined? foo == "local-variable" ? foo : nil %>
但是三元不運行正確,並默認爲nil
...我使用三元運算符(可能已經養成了使用它們的習慣,因爲它們保存了行)...在三元組中可能使用defined?
?
順便說一句,你的第二個聲明不等同於第一個 - 該任務是missi ng,即'foo'沒有被設置爲'nil'。 – Stefan
真的需要'foo = foo'嗎? – limekin
@limekin不,我不是更傾向於建議'<%foo = nil,除非local_variable_defined?(foo)%>'或者@PiotrKruczek建議'<%foo || = nil%>'但這兩種方法都不屬於這個問題。此外,我不知道這裏的實現或爲什麼這個邏輯必須存在於視圖而不是控制器或模型中。 – engineersmnky