如何在RubyonRails中设计地图内部的样式



我有pluckmap方法来解析一些数据:

<%= @driver.cars.pluck(:name, :purchase_date).map{ |c| c[0] + ' on ' + c[1].strftime('%d.%m.%Y') + ' at ' + c[1].strftime('%H:%M') }.to_sentence %>

如何仅为c[0]中数据的名称部分更改颜色?

我试过了,但没用:

.map{ |c| <span style="color: blue;">c[0]</span> + ' on ' + c[1].strftime('%d.%m.%Y') + " at " + c[1].strftime('%H:%M') }

看起来你正试图在ERB视图中吐出代码——它们的工作方式与React不太一样(根据你的例子,我猜这可能是你熟悉的(:你想用each而不是map迭代一个集合——可能是这样的:

<% @driver.cars.pluck(:name, :purchase_date).each do |car| %>
<span style="color: blue;"><%= car[0] %></span>
on <%= car[1].strftime('%d.%m.%Y') %>
at <%= car[1].strftime('%H:%M') %>
<% end %>

ERB/templates上的Rails文档真的很好——它可能会帮助你更好地理解引擎盖下发生了什么。

如果你已经下定决心要使用to_sentence,那么有一个视图助手可以让处理起来稍微容易一点:

<%=
to_sentence(
@driver.cars.pluck(:name, :purchase_date).map do |car|
raw(
<<~HTML
<span style="color: blue;">#{car[0]}</span>
on #{car[1].strftime('%d.%m.%Y')}
at #{car[1].strftime('%H:%M')}
HTML
)
end
)
%> 

最新更新