Rails - 如何在文本字段中执行if和else语句

Rai*_*ner 1 ruby ruby-on-rails 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}" %>
Run Code Online (Sandbox Code Playgroud)

我在视图中收到此错误:

SyntaxError in Kategoris#show

Showing C:/Rails/konkurranceportalen/app/views/kategoris/_rating.html.erb where line #3 raised:

C:/Rails/konkurranceportalen/app/views/kategoris/_rating.html.erb:3: syntax error, unexpected keyword_else, expecting keyword_then or ';' or '\n'
...ue => if vind.ratings == 0 else vind.rating_score/vind.ratin...
...                               ^
C:/Rails/konkurranceportalen/app/views/kategoris/_rating.html.erb:3: syntax error, unexpected ',', expecting ')'
...vind.rating_score/vind.ratings, :type => 'range', :step => '...
...                               ^
Run Code Online (Sandbox Code Playgroud)

Gro*_*ain 6

我通常使用速记,像这样:

:value => ( vind.ratings == 0 ? 0 : vind.rating_score/vind.ratings )
Run Code Online (Sandbox Code Playgroud)