在 Haml 中对对象引用使用#to_key 而不是#id

问题描述 投票:0回答:0

我正在尝试编写一个 HAML 视图以将可变数量的按钮对象(不超过 4 个)显示为 4 个彩色按钮。

目前这是通过每个按钮将每个答案对象分配为一个 Object Reference 到一个 div 来实现的。

- answers.each do |answer|
  %div[answer]{:data = {:answer_id => answer.id} }

为每个 div 分配“answer”类和 ID“answer_#id”,因此 answer1、answer2、answer3。

然后绑定到定义框形状的类的 css 规则和定义颜色和内部形状的 id。

问题是这些 id 的 css 规则是为 answer_1、answer2、answer3、answer4 定义的——只要问题只包含数据库中的前四个答案对象但中断 answer#id5 就可以了。

我在文档中读到,您可以“按此顺序”使用#to_key 而不是#id,因此我为#to_key 定义了一个方法来始终返回“一”、“二”、“三”或“四” " 取决于当前的问题,但 Haml 总是选择使用 #id 代替。

另外 - 我假设为了这样的目的覆盖 to_key 没有问题?

ruby-on-rails activerecord haml
© www.soinside.com 2019 - 2024. All rights reserved.