私はページに表示する3つの属性、length
,height
、およびを持っています。は条件付きでルビの属性を返します
オブジェクトで4番目の属性(variable_dimensions
)がtrueに設定されている場合(他の属性のデータを入力する必要がないため)、「Dimensions variable」という文字列を返します。 width
がnilの場合、length
x height
を返信します。それ以外の場合はlength
x height
x width
を返します。
私はこれをヘルパーとして試みました。
module ItemsHelper
def dimensions_available(length, height, width)
if @item.variable_dimensions == true
return "Dimensions variable"
elseif width.nil?
dimensions = length, height
return dimensions
else
dimensions = length, height, width
return dimensions
end
end
end
dimensions_variable
がtrueに設定されている場合に機能します。それは、可変次元を持つオブジェクトで私が望むことを実行します。他の2つのケースでは、width
がnilの場合は[60.3、35.4、nil]、それ以外の場合は[39,45.3,30.4]のような配列としてページに出力されます。 10cm x 30cm x 48cmのようにアレイのスタイリングを削除するにはどうすればよいですか?以前私はこれを文字列補間で試みましたが、アンチパターンであると言われました。あなたはこのような何か行うことができます
あなたの[前の質問](https://stackoverflow.com/questions/44273038/check-if-variables-are-null-and-if-not-print)を見てみると、あなたはタッドマンが試していたことを誤解していることは明らかですあなたに伝えるために。文字列補間は反パターンではありません。特定の構造体 "#{x}"(文字列が単一の '#{...}補間式以外のものを含んでいます)は反パターンです。これは 'x.to_s'に相当します。 "#{x} cm x#{y} cm x#{z} cm" 'は反パターンではありません。 –