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

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

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

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

Q&A

解決済

1回答

341閲覧

Railsで動的に見栄え・タグを変更する方法について

shisha

総合スコア86

Ruby on Rails

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

0グッド

0クリップ

投稿2020/07/04 14:55

困っていること

文字列の長さに応じて、動的に見栄えを変更したいと考えています。

具体的には、すべての長さが5文字以下のときは、インラインで横並びにしたいと考えています。
逆に、1つでも5文字を超えるデータがあれば、縦並びにしたいと考えています。

条件で5文字以上かどうかの判定はできるのですが、判定したあとにどのように処理をするのがベターな方法でしょうか。

よろしくお願いします。

データ1:横並びにする例

ruby

1class PostsController < ApplicationController 2 def show 3 @d1 = "あいうえお" 4 @d2 = "かきくけこ" 5 @d3 = "さしすせそ" 6 @d4 = "たちつてと" 7 end 8end


このデータはすべての長さが5文字以下なので、横並びで表示したいです。

html

1<span>あいうえお</span> 2<span>かきくけこ</span> 3<span>さしすせそ</span> 4<span>たちつてと</span>

データ2:縦並びにする例

ruby

1class PostsController < ApplicationController 2 def show 3 @d1 = "あいうえおかきくけこさしすせそ" 4 @d2 = "たちつてとなにぬねのはひふへほ" 5 @d3 = "まみむめもやらわ" 6 @d4 = "わをん" 7 end 8end


このデータは、上3つが超えているので、縦並びにしたいです。

html

1<div>あいうえおかきくけこさしすせそ</div> 2<div>たちつてとなにぬねのはひふへほ</div> 3<div>まみむめもやらわ</div> 4<div>わをん</div>

現状考えている対応策

フラグに応じて"div"や"span"を返す変数をもたせて、erbファイル内で<%= t %>を出力するしかないのかなと考えています。

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

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

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

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

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

guest

回答1

0

自己解決

Ruby on Rails - Rails コントローラ側での値(結果)によってCSSを動的に変える方法|teratail
調べが甘かったのですが、上記の②のクラスを変更する方法がベターかなと思いました

投稿2020/07/04 17:15

shisha

総合スコア86

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問