Rubyにif文を入れるcreate

概要

Example.create(
  attribute1 = "asdf",
  attribute2 = "asdf2",
  attribute3 = "and 20 more attributes"
)

しかし、if/else 内に (ほぼ) 2 つの (ほぼ) 同一の create メソッドを持たずに、variable2 = “qwer” if random_thing == “zxcv” を簡単に作成するにはどうすればよいでしょうか?

解決策

おそらく三項演算子を使用すると、次のようになります。

Example.create(
  attribute1 = "asdf",
  attribute2 = random_thing == "zxcv" ? "qwer" : "asdf2",
  attribute3 = "and 20 more attributes"
)

または簡略化すると:

Example.create("asdf", random_thing == "zxcv" ? "qwer" : "asdf2", "and 20 more attributes")