<% if dashboard_pane_counter.remainder(3) == 0 %>
do something
<% end>
dasboard_pane_counterが定義されていない場合、例外をスローするのではなく、これをfalseに評価するにはどうすればよいですか?変数がレールに定義されているかどうかを確認するにはどうすればよいですか?
<% if dashboard_pane_counter.remainder(3) == 0 %>
do something
<% end>
dasboard_pane_counterが定義されていない場合、例外をスローするのではなく、これをfalseに評価するにはどうすればよいですか?変数がレールに定義されているかどうかを確認するにはどうすればよいですか?
<% if defined?(:dashboard_pane_counter) && dashboard_pane_counter.remainder(3) == 0 %>
# do_something here, this assumes that dashboard_pane_counter is defined, but not nil
<% end %>
レールとインスタンス変数を使用して、nilが定義されてtry
方法を持っているので、あなたが行うことができます。
<% if @dashboard_pane_counter.try(:remainder(3)) == 0 %>
#do something
<% end %>
インスタンス変数が定義されていない場合ので、try(:anything)
はnilを返しますので、に評価します偽です。そしてnil == 0
は、私はより良いRubyのコード厥
unless var.nil?
を使用することになり
if !var.nil?
の偽
変数が定義されていないので、答えが出ない場合でもエラーが発生します質問。 – michaeltwofish
いいえ、しませんが、Railsの中に組み込まれて魔法 "があります。 ' 1.9.3p392を:005> @hh => 1.9.3p392 ゼロ:006> hh.try @(:何でも) => ' – Yule
はnilですから、インスタンス変数の場合、nilは 'try'メソッドを持っています – Yule
Instedです!
ありがとうございます。 if!adallajglaksdkfaj.nil?を試してみてください。 「関数」の最初の行に表示されます。 kablammo :) – baash05
もう一つの方法は、きちんとした宝石を使って、 'andand'です。
この質問は数年前からあるので、local_assignsが、そのために使用することができ、私はそれはそれはここではノートに
だレール<% if local_assigns[:dashboard_pane_counter]
&& dashboard_pane_counter.remainder(3) == 0%>
<% end %>
の以前のバージョンに存在することを確認
シンボルは私にとっては機能しませんでした。 (変数名) ' – HungryCoder
ありがとう..時には最も簡単な答えは正しいものです:) – baash05