Ruby on rails Rails—如何在文本字段中执行If和else语句
我试图在此文本字段中使用以下值执行if和else语句:Ruby on rails Rails—如何在文本字段中执行If和else语句,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我试图在此文本字段中使用以下值执行if和else语句: <%= f.text_field :rating, :size => 1, :min => 1, :max => 6, :value => if vind.ratings == 0 else vind.rating_score/vind.ratings, :type => 'range', :step => '1', :id => "#{vind.id}" %> 我通常使用速记,如下所
<%= f.text_field :rating, :size => 1, :min => 1, :max => 6, :value => if vind.ratings == 0 else vind.rating_score/vind.ratings, :type => 'range', :step => '1', :id => "#{vind.id}" %>
我通常使用速记,如下所示:
:value => ( vind.ratings == 0 ? 0 : vind.rating_score/vind.ratings )
<%= f.text_field :rating, :size => 1, :min => 1, :max => 6, :value => "#{if vind.ratings == 0 else vind.rating_score/vind.ratings, :type => 'range', :step => '1', :id => "#{vind.id}" %>
我通常使用速记,如下所示:
:value => ( vind.ratings == 0 ? 0 : vind.rating_score/vind.ratings )
<%= f.text_field :rating, :size => 1, :min => 1, :max => 6, :value => "#{if vind.ratings == 0 else vind.rating_score/vind.ratings, :type => 'range', :step => '1', :id => "#{vind.id}" %>
我可以这样做:
:value => ( vind.ratings == 0 ? 0 : vind.rating_score/vind.ratings )
<%= f.text_field :rating, :size => 1, :min => 1, :max => 6, :value => "#{if vind.ratings == 0 else vind.rating_score/vind.ratings, :type => 'range', :step => '1', :id => "#{vind.id}" %>
1,:min=>1,:max=>6,:value=>
或与上面类似,但在()中:
1,:min=>1,:max=>6,:value=>((vind.ratings==0)?value_此处:vind.rating_score/vind.ratings),:type=>‘range’,:step=>‘1’,:id=>“#{vind.id}”%>
我可以这样做:
:value => ( vind.ratings == 0 ? 0 : vind.rating_score/vind.ratings )
<%= f.text_field :rating, :size => 1, :min => 1, :max => 6, :value => "#{if vind.ratings == 0 else vind.rating_score/vind.ratings, :type => 'range', :step => '1', :id => "#{vind.id}" %>
1,:min=>1,:max=>6,:value=>
或与上面类似,但在()中:
1,:min=>1,:max=>6,:value=>((vind.ratings==0)?value_此处:vind.rating_score/vind.ratings),:type=>‘range’,:step=>‘1’,:id=>“#{vind.id}”%>
这是ruby代码,但ruby也可以在rails中工作。rails是在ruby上构建的。为什么我不能在vind.ratings==0或者:value=>“#{}”?@tzown你不能写它,因为它不是有效的ruby代码。首先,你的逻辑是错误的。你在声明vid.ratings==0{do\u nothing}else show vind.ratings。你不能在ruby中做任何事情。这是无效的代码。如果vind.ratings>0,你就必须这样做,然后显示vind.ratings。@tzown,作为将来的参考,我使用的是三元运算符。这是ruby代码,但ruby也可以在rails中工作。rails是在ruby上构建的。如果vind.ratings==0,为什么我不能写:value=>“#{}”@tzown您不能编写它,因为它不是有效的ruby代码。首先,您的逻辑是错误的。您正在声明vid.ratings==0{do\u nothing}else显示vind.ratings。在ruby中不能执行任何操作。这是无效代码。如果vind.ratings>0,则必须执行此操作,然后显示vind.ratings。@tzown,为了将来的参考,我使用的是三元运算符。