抱歉,如果这个问题太过分了;这是我在这里的第一篇文章。我正在使用 erb for ruby on rails 我想知道我是否可以根据用户选择使 div 的背景颜色不同。我在网上看了看,找不到答案。我是新手,仍在努力学习如何搜索。
<div class="row">
<% @stores.each do |store| %>
<div class="col s12 m6">
<% if store.color = 'red' %>
<% profile_color = 'red' %>
<% elsif store.color = 'blue' %>
<% profile_color = 'blue' %>
<% elsif store.color = 'green' %>
<% profile_color = 'green' %>
<% elsif store.color = 'orange' %>
<% profile_color = 'orange' %>
<% end %>
<div class="card <%= profile_color %> center">
<div class="card-content white-text">
<span class="card-title"> <%= store.name %> </span>
<h6>Owner: <%= store.owner %> </h6>
<h6>Location: <%= store.location %> </h6>
</div>
<div class="card-action" >
<%= link_to 'Visit Store', store_departments_path(store) %>
<%= link_to 'Edit', edit_store_path(store) %>
<%= link_to 'Delete', store_path(store), method: :delete,
data: {confirm: 'Really Delete?'} %>
</div>
</div>
</div>
<% end %>
</div>
我使用的表单要求用户提供颜色,他们从下拉列表中选择类型为字符串的图片。我已经检查过,@store.color 正在存储颜色和所有内容。
最佳答案
问题是 profile_color
是在每个 if
的范围内定义的,所以当你到达类属性时,它是 nil,正如我所看到的,if 没有做更多的事情除了分配相同的值,您可以更改:
<div class="card <%= profile_color %> center">
要像这样使用 store.color
:
<div class="card <%= store.color %> center">
并删除所有的 if
关于html - 您可以使用 if/else 语句在 erb 中设置 div 的样式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40569917/