1

どちらかが定義されている場合variable、または定義されている場合variablenilありますalternative_variable。定義されているこれらの中から変数を選択するには、ロジックを補間に実装する必要があります。私がする時:

some_value: "#{ variable || alternative_variable }"

variableが定義されている場合、すべてが正常に機能します。瞬間variableが定義されていない (alternative_variable存在する) ため、次のエラーが発生します。

undefined local variable or method `variable' for #<#Class:0x007fc3c021bc28>:0x007fc3c006c030>

補間の前に次のコード ブロックを追加することで、エラーを回避する方法を見つけました。

<% variable ||= alternative_variable %>

しかし、それは汚れていて、軌道に乗っていないように感じます。ロジックを補間内に直接配置するきちんと整頓された方法はありますか?

4

1 に答える 1

4

これはRailsとは関係ありません。ただのルビです。これを試して:

some_value: "#{ defined?(variable) ? variable : alternative_variable }"
于 2012-11-16T09:56:04.170 に答える