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

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

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

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

Ruby

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

Q&A

解決済

1回答

2462閲覧

booleanの値に応じて、チェックボックスの表示を変えたい

asatosi

総合スコア23

Ruby on Rails 5

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

Ruby

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

0グッド

0クリップ

投稿2020/05/01 06:21

編集2020/05/01 06:26

前提・実現したいこと

Railsビューの話です。
現在、カラムの設定値に応じて、if文により『true』の時は、☑️、『false』の時は『-』で表現しています。
これをif文をつかわず、『true』の時は、☑️、『false』の時は⬜︎のようにチェックボックスで表示するようにしたいです。

対応方法をおしえてください。

現在のソースコード

Ruby

1<div class="table-responsive"> 2 <table class="table table-striped table-bordered table-hover" style="table-layout:fixed;width:75%"> 3 <tr> 4 <td> 5 </td> 6 <% @kinds.each do |kind| %> 7 <th> 8 <p class="text-center"> 9 <%= kind.kind %> 10 </p> 11 </th> 12 <% end %> 13 </tr> 14 15 <% @stages.each do |stage| %> 16 <tr> 17 <th> 18 <p class="text-center"> 19 <%= stage.stage %> 20 </p> 21 </th> 22 <% @kinds.each do |kind| %> 23 <td align="center"> 24 <% @connection = Connection.find_by(stage_id: stage.id, kind_id: kind.id) %> 25 <% if @connection.invalid_flag %> 26 ☑️ 27 <% else %> 28 - 29 <% end %> 30 <%= button_to '反転', connection_path(@connection), {method: "patch"} %> 31 </td> 32 <% end %> 33 </tr> 34 <% end %> 35 </table> 36</div>

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

ruby 2.6.3p62
Rails 5.2.4.2
bootstrap-sass 3.4.1

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

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

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

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

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

guest

回答1

0

ベストアンサー

check_box_tag :dmy,1,@connection.invalid_flag,disabled="disabled"

かな。
@connection.invalid_flag が true, false である  前提です

投稿2020/05/01 11:08

winterboum

総合スコア23401

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

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

asatosi

2020/05/01 15:07

winterboum 様 回答ありがとうございました。 いただいた答え通りではございませんでしたが、 チェックボックスを表示させることができました。 正解 <% @connection = Connection.find_by(stage_id: stage.id, kind_id: kind.id) %> <%= check_box_tag :invalid_flag, value = "", @connection.invalid_flag %> <%= button_to '反転', connection_path(@connection), {method: "patch"} %> ※disabled="disabled" を書くとエラーになりました。 正解は上記の通りなのですが、なんで『value』を書かないといけないのか、よくわから ないですね。 winterboum 様の回答にある『1』は『value』のためでしょうか?
winterboum

2020/05/01 20:20

disabled: true だったかな、なまhtmlと混同してたかも。 これを入れたのは画面で変更はまずいだろうと思ったので。 『1』は『value』のためです。
asatosi

2020/05/01 23:44

了解いたしました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問