Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改CSS取决于用户选择的内容 背景和问题_Css_Ruby On Rails_Ruby_Ruby On Rails 5 - Fatal编程技术网

更改CSS取决于用户选择的内容 背景和问题

更改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

在我的Rails应用程序中,用户可以创建自己的名字并选择性别。在他们的个人资料页面上,他们的姓名和性别都已正确显示。接下来,我想根据他们的性别来改变他们名字的颜色,而不是同时显示姓名和性别,但到目前为止效果并不好。如果有人教我,我将不胜感激

Users/edit.html.erb

用户名

> 男性 女性
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>