すべての値を 0 に設定しようとしていますが、3 行目 ( send(x)
) で問題が発生しています。私には正しいようですが、うまくいきません。x
Power の列の車と名前です。任意のヒント?
<% @cars.each do |x| %>
<% @power = Power.find_by_user_id(@user) %>
<% @power.send(x) = 0 %>
<% @power.save %>
<% end %>
すべての値を 0 に設定しようとしていますが、3 行目 ( send(x)
) で問題が発生しています。私には正しいようですが、うまくいきません。x
Power の列の車と名前です。任意のヒント?
<% @cars.each do |x| %>
<% @power = Power.find_by_user_id(@user) %>
<% @power.send(x) = 0 %>
<% @power.save %>
<% end %>
@cars
の列名が含まれていると仮定すると、setter メソッド (つまり、最後に an を使用)Power
が必要です。また、シンボルを に渡していることを確認する必要があります。send
=
send
@cars.each do |x|
@power = Power.find_by_user_id(@user)
@power.send(:"#{x}=", 0)
@power.save
end
ループで設定または保存する必要がある明確な理由もないため、次@power
のようにする方がよい場合があります。
@power = Power.find_by_user_id(@user)
@cars.each do |x|
@power.send(:"#{x}=", 0)
end
@power.save