質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 3.1

Ruby on Rails バージョン3.1.0はRuby on Railsの特定のバージョンです。2011年8月30日にリリースされました。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

3回答

1620閲覧

勤怠システム土曜を青、日曜を赤に指定したい

doragon11

総合スコア13

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 3.1

Ruby on Rails バージョン3.1.0はRuby on Railsの特定のバージョンです。2011年8月30日にリリースされました。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2019/07/20 01:59

前提・実現したいこと

ここに質問の内容を詳しく書いてください。

勤怠システムの土曜日を青、日曜日を赤色に指定したい

■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

ifを使ってみようとしたが、コードの書き方がわかりません
custom/scss

該当のソースコード

<tr> <!--rowspan:縦結合、colspan:横結合--> <th rowspan = "2">日付</th> <th rowspan = "2">曜日</th> <th colspan = "3">出社</th> <th colspan = "3">退社</th> <th rowspan = "2">在社時間</th> <th rowspan = "2">備考</th> </tr> <tr> <th>時</th> <th>分</th> <th></th> <th>時</th> <th>分</th> <th></th> </tr> </thead> <tbody> <% @dates.each do |day| %> <tr> <td><%= day.worked_on.to_s(:date) %></td> <td><%= %w{日 月 火 水 木 金 土}[day.worked_on.wday] %></td>

      <td><% if day.worked_on.wday == 土 %></td>
<td><%= font color="# 0000ff">土< %></font></td>

試したこと

<td><% if day.worked_on.wday == 土 %></td> <td><%= font color="# 0000ff">土< %></font></td>

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

コードは markdown の [コード] に修正がうれしいです

<td><%= %w{日 月 火 水 木 金 土}[day.worked_on.wday] %></td> <td><% if day.worked_on.wday == 土 %></td> <td><%= font color="# 0000ff">土< %></font></td>

と3カラムに渡って曜日が有りますが、やりたいのは1カラムに曜日が表示されて、土日は文字を赤くしたい、ということですね?

<td class='<%= "wday#{day.worked_on.wday}"%>'> <%= %w{日 月 火 水 木 金 土}[day.worked_on.wday] %></td>

として、class wday0,, wday6 をわりふり、stylesheet で wday0,wday6に赤を指定してはどうでしょう

投稿2019/07/20 12:58

winterboum

総合スコア23329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

doragon11

2019/07/21 01:12

ありがとうございます! クラスにわけるという発想はすごいですね ただクラスわけをどのようにコードにしていったら良いかが、わかりません classのあとにクラス名を大文字からはじめる位しか知識がありません この場合だと  class Day end でしょうか? 属性を持たせるattr_accessorは必要になるのでしょうか? 大変お手数だとは存じますが クラスのつくり方を教えて頂けると、 助かります
winterboum

2019/07/21 11:48

ここで言ってる class は Ruby の classではなく、html、CSSのclassのことです。 <td class='<%= "wday#{day.worked_on.wday}"%>'> <%= %w{日 月 火 水 木 金 土}[day.worked_on.wday] %></td> と書けば <td class='wday0'> 日</td> : <td class='wday6'> 土</td> となります
doragon11

2019/07/22 08:49

すごくすっきりしました ありがとうございます <td class='wday0'> 日</td>は それぞれ月、火、水、木、金も含めて 書き出すようにして stlesheetで色の設定をするには wday0 {  color: red; } のような形でしょうか?
winterboum

2019/07/22 08:52 編集

ですね。 1-5はclassつけなくても良いんですが、そこに場合分け入れるとごちゃごちゃするんでつけちゃいました。 if、case の嫌いな男です
guest

0

ヘルパーメソッド (app/helpers/*) として定義すると、 View 側の記述・コードの見た目がスッキリするのではないでしょうか

ヘルパー側:

ruby

1# グローバルに使うなら ApplicationHelper に記述 2# そうでないならコントローラ名に対応したファイルに記述 3module SomeOfHelper 4 # ヘルパーメソッドの定義 5 # FIXME: より適切な名前があれば そちらに更新する 6 def week_color(date) 7 # 与えられた日付から日本語表記に変換 8 displaying_label = 9 %w[日 月 火 水 木 金 土][date.wday] 10 11 # 土・日曜日のみ、<span/> タグで括って、クラス属性値を付与 12 # CSS 側のスタイル定義で色を変える 13 # NOTE: クラス名は CSS 定義と適宜対応させる 14 if date.saturday? 15 tag.span(displaying_label, class: 'saturday') 16 elsif date.sunday? 17 tag.span(displaying_label, class: 'sunday') 18 else 19 displaying_label 20 end 21 end 22end

View 側:

erb

1<td><%= day.worked_on.to_s(:date) %></td> 2<% # ヘルパーメソッドを利用して日付から曜日に変換表示 %> 3<td><%= week_color(day) %></td>

なにか参考になれば幸いです

Link

投稿2019/08/20 18:04

gouf

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

doragon11

2019/08/31 14:28

すごくシンプルなコードになっていて、素敵です 動作をまだ、確認しきれていないのですが、大変参考になります 同じ実装結果でも、コードの書き方が、様々で皆さんの発想に感動します
guest

0

曜日の一部に色を付ける方法について

コードは markdown の [コード] に修正されては?

投稿2019/07/20 03:09

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

doragon11

2019/07/21 00:12

ありがとうございます!markdown、次回から使います‼
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問