更改CSS取决于用户选择的内容 背景和问题
在我的Rails应用程序中,用户可以创建自己的名字并选择性别。在他们的个人资料页面上,他们的姓名和性别都已正确显示。接下来,我想根据他们的性别来改变他们名字的颜色,而不是同时显示姓名和性别,但到目前为止效果并不好。如果有人教我,我将不胜感激 Users/edit.html.erb更改CSS取决于用户选择的内容 背景和问题,css,ruby-on-rails,ruby,ruby-on-rails-5,Css,Ruby On Rails,Ruby,Ruby On Rails 5,在我的Rails应用程序中,用户可以创建自己的名字并选择性别。在他们的个人资料页面上,他们的姓名和性别都已正确显示。接下来,我想根据他们的性别来改变他们名字的颜色,而不是同时显示姓名和性别,但到目前为止效果并不好。如果有人教我,我将不胜感激 Users/edit.html.erb 用户名 性 > 男性 女性 Users/show.html.erb 我试过的 我像这样编辑了Users/show.html.erb,但它不起作用 <div class="username"&g
用户名
性
>
男性
女性
Users/show.html.erb
我试过的
我像这样编辑了Users/show.html.erb,但它不起作用
<div class="username">
<%= @user.name %>
<% if @user.sex == "Male" %>
<% @user.name color: blue; %>
<% elsif @user.sex == "Female" %>
<% @user.name color: red; %>
<% else %>
<% @user.name color: black; %>
<% end %>
</div>
如果需要引用,我将添加更多代码。多谢各位
版本
ruby 2.6.4p104/RubyGems 3.0.3/Rails 5.2.3实现这一点的最简单方法之一是使用helper方法:
<div class="username #{username_color(@user.sex)}">
<%= @user.name %>
</div>
记住调整css样式你可以直接将性别信息设置为
classname
<style>
.username span{
color: black;
}
.username span.Male{
color: blue;
}
.username span.Female{
color: red;
}
</style>
<div class="username">
<span class="<%= @user.sex %>"><%= @user.name %></span>
</div>
.用户名范围{
颜色:黑色;
}
.用户名span.男性{
颜色:蓝色;
}
.用户名span.女性{
颜色:红色;
}
“到目前为止还不能很好地工作”并不是一个足够精确的错误描述,我们无法帮助您。什么不起作用?它怎么不起作用?你的代码有什么问题?你收到错误信息了吗?错误消息是什么?你得到的结果不是你期望的结果吗?你期望得到什么样的结果?为什么?你会得到什么样的结果?两者有什么不同?你观察到的行为是否不是期望的行为?期望的行为是什么?为什么?观察到的行为是什么?它们有什么不同?谢谢你的帮助!这是我第一次使用助手。但不幸的是,在我将性别改为男性和女性后,“用户名”的颜色仍然是黑色。。我不会在CSS上处理任何颜色信息。太好了!很高兴能帮上忙。
<div class="username #{username_color(@user.sex)}">
<%= @user.name %>
</div>
def username_color(sex)
case sex
when "Male" then "blue"
when "Female" then "red"
else "black"
end
end
<style>
.username span{
color: black;
}
.username span.Male{
color: blue;
}
.username span.Female{
color: red;
}
</style>
<div class="username">
<span class="<%= @user.sex %>"><%= @user.name %></span>
</div>