こちらのコードで指定したモデルの指定したレコードの指定したフィールドをランダムで表示させる事ができました。
ruby.controller def show @problems = Problem.offset( rand(Problem.count)).limit(1).pluck(:study_type, :explanation_text, :problem_text).join(" ") ```こちらをビューに表示させると文字列が横並び状態になります。 それだと見栄えが良くないので改行したいです。 それと改行した所に文字列を加えたいです。 join(" ")の()内に/nや<br>など入力して見ましたが、文字列の間に/nや<br>が表示されるだけでした。 こちらのコードで実装して見ました。 ```ここに言語を入力 ruby.controller def show @problems = Problem.offset( rand(Problem.count)).limit(1).pluck(:study_type).join(" ") @problemse = Problem.offset( rand(Problem.count)).limit(1).pluck(:explanation_text).join(" ") @problemses = Problem.offset( rand(Problem.count)).limit(1).pluck(:problem_text).join(" ")
案の定、idが違うレコードのフィールドがビューに表示されました。
どうかご教授願います。
ruby.view <% provide(:title, "問題出題") %> <div class="container"> <div class="row"> <h1>問題</h1> <ul class="problems"> <%= @problems %><br> </ul> </div> </div>
ここから変更したコードです。
ruby.controller def show @problems = Problem.offset( rand(Problem.count)).limit(1).pluck(:study_type, :explanation_text, :problem_text).join("<br>")
ruby.view <% provide(:title, "問題出題") %> <div class="container"> <div class="row"> <h1>問題</h1> <ul class="problems"> <%= raw(nl2br(@problems)) %> </ul> </div> </div>
application_helper.rb module ApplicationHelper def nl2br(str) h(@problems).gsub(/\R/, "<br>") end end
回答2件
あなたの回答
tips
プレビュー