在 Slim 中添加 Non-control, non-output Ruby 代码
Add Non-control, non-output Ruby code in Slim
我想在 Ruby slim 中进行 Ruby 变量赋值。显然我尝试使用控制符号 -
的方式不起作用。任何想法如何
(看下面代码块中的注释)
- @locations.each do |station|
- @sources.each do |source|
# the following code is meant to be a plain Ruby code for variable assignment
# how can I do that in Slim?
- reading = Reading.where(location: station, source: source).order('time').last
tr
td = station.name
td = reading.time.in_time_zone(station.timezone)
td = reading.source.name
td = reading.temperature.value.to_s if reading.temperature
符号-
的使用是正确的。它可以用于任何非输出 Ruby 代码。即下面的行是正确的,并放在上面源代码的正确缩进处。
- reading = Reading.where(location: station, source: source).order('time').last
我得到的错误与 slim 无关。改成erb后,还是出现同样的错误。这可能与我的数据库更改有关(已从 Postgres 更改为 Sqlite3,我只更改了 config/database.yml 文件和 gemfile)。最后,我通过使用 Sqlite 创建一个新应用来解决。
我想在 Ruby slim 中进行 Ruby 变量赋值。显然我尝试使用控制符号 -
的方式不起作用。任何想法如何
(看下面代码块中的注释)
- @locations.each do |station|
- @sources.each do |source|
# the following code is meant to be a plain Ruby code for variable assignment
# how can I do that in Slim?
- reading = Reading.where(location: station, source: source).order('time').last
tr
td = station.name
td = reading.time.in_time_zone(station.timezone)
td = reading.source.name
td = reading.temperature.value.to_s if reading.temperature
符号-
的使用是正确的。它可以用于任何非输出 Ruby 代码。即下面的行是正确的,并放在上面源代码的正确缩进处。
- reading = Reading.where(location: station, source: source).order('time').last
我得到的错误与 slim 无关。改成erb后,还是出现同样的错误。这可能与我的数据库更改有关(已从 Postgres 更改为 Sqlite3,我只更改了 config/database.yml 文件和 gemfile)。最后,我通过使用 Sqlite 创建一个新应用来解决。