ruby-on-rails - Haml 不从 rails 模型渲染元素
问题描述
我正在尝试从我的“轨道”模型中呈现适当的元素,该模型是一个名为“流派”的列中的字符串
然而,而不是呈现流派;页面改为呈现=track.genre
而不是实际类型。这是语法错误吗?
index.html.haml(用于视图>曲目)
- content_for :header do
%section.hero.is-warning
.hero-body
.container
%h1.title
Browse the newest Tracks
.instrument-index-grid.pt4
- @tracks.each do |track|
.track.border-light
.track-thumb
=link_to image_tag(track.image_url(:thumb)), track
- if track.genre
.condition
%span.tag.is-dark = track.genre // this renders incorrectly
.pa3
%h3.fw7.f4.title= link_to track.name, track
%p.has-text-gray.fg.pt1
Sold by #{track.user.name}
%p.f3.fw6.has-text-right.pt2.price= number_to_currency(track.price)
- if track_artist(track)
= link_to 'Edit', edit_track_path(track), class: "button is-small"
= link_to 'Delete', track, method: :delete, data: { confirm: "Are you sure ?" }, class: "button is-small"
解决方案
这只是一个错字。代替
%span.tag.is-dark = track.genre
它应该是
%span.tag.is-dark= track.genre
请参阅参考资料的“Ruby 评估”部分:
= 也可用于标签末尾以在该标签内插入 Ruby 代码
由于标签后面有多余的空格,因此=
不再位于标签的末尾,因此它与该行的其余部分一起被解释为纯文本。
推荐阅读
- vue.js - 使用 beforeEnter 修改 Vue 查询
- javascript - 停止正文滚动,直到 div 滚动
- bash - 无法在 bash 中抑制或使用 AWS-CLI 错误
- javascript - 切换<或>值大小写
- android - 从代码设置可绘制时未应用 TextInputEditText endIconTint
- python - 将 mailchimp3 client.lists.members.all 转换为 dataframe 或 csv python
- sybase - 在 sybase 中每 3 个计数或一个字符插入下划线
- jacoco - 在 Jacoco HTML 报表页脚中添加日期/时间
- algorithm - 为什么 or ("||") 允许路径和算法工作?
- reactjs - 如何从对象返回html元素