简单的Rails条件语句

pet*_*ter 0 syntax ruby-on-rails

非常简单我敢肯定......但我无法弄清楚为什么它不起作用.

<tr<% if film.viewed == true %> class="viewed"<% end %>>
Run Code Online (Sandbox Code Playgroud)

film.viewed是一个布尔值但如果它是真的则不会渲染类.可能是语法错误.有帮助吗?还有一种更简单的方法来写这个没有打开和关闭?我试过用:

<tr<% if film.viewed == true puts class=\"viewed\" end %>>
Run Code Online (Sandbox Code Playgroud)

再次可能是语法错误.我来自PHP,所以我还在学习.

谢谢.

jmc*_*vin 5

你最好的选择就是以下......

<tr <%= 'class="viewed"' if film.viewed? -%>>
Run Code Online (Sandbox Code Playgroud)

所有布尔ActiveRecord列都会获得一个返回true或false的问号方法.由于MySQL将布尔值存储为1/0,我通常使用问号方法只是为了安全.