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

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

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

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

Q&A

1回答

1383閲覧

seed(csv)ファイル改行について

tonkatyu

総合スコア1

Ruby on Rails

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

0グッド

0クリップ

投稿2021/12/22 05:47

編集2021/12/22 06:03

前提・実現したいこと

seedファイルにcsvファイルを取り込んだ際に改行を反映させたいのですがうまくいきません。????

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

seeds

1require "csv" 2 3CSV.foreach('db/item_date.csv', headers: true) do |row| 4 Item.create( 5 genre_id: row['genre_id'], 6 name: row['name'],![イメージ説明](2982baa516ce084cf38046b6fc01225e.png) 7 non_tax_price: row['non_tax_price'], 8 image_id: row['image_id'], 9 is_active: row["is_active"], 10 introduction: row["introduction"] 11 ) 12end
id,genre_id,name,non_tax_price,introduction,image_id,is_active 1,1,女王様のミックスベリータルト,2100,"【商品について】 タルトの主役はフルーツ。その美味しさを最大限に活かすために「フルーツは山盛りで」が店主のこだわり。 よくあるベリータルトに比べるとかさ高になっているのも、そのためです。 タルトの生地も、クリームも全てタルトとの相性を考えて作り出した、自慢のクリームとタルトです。 【郵送について】 こちらの商品は注文から5日以内に冷凍便にて発送されます。お届け指定日などある場合はご注文時に備考欄にお書き下さい。 ※お届け指定は注文日より2週間以内で承ります。 代引きを希望される場合は、メールにてご相談ください。 【賞味期限】 製造日より 冷凍、1ヵ月 解凍後、2日 省略します..

show

1<div class="container"> 2 <div class="row"> 3 <%= render "layouts/sidebar" %> 4 <div class="mainContents col-sm-9 col-sm-push-3 col-md-9 col-md-push-3"> 5 <h2 class="subtitle">Item</h2> 6 <h3 class="item__name"><%= @items.name %></h3> 7 <div class="item__mainImage"> 8 <!--<= attachment_image_tag @items, :image, size:'600x550' %>--> 9 </div> 10 <div class="row"> 11 <div class="col-sm-7 col-md-7 itemText"> 12 <%= @items.introduction %> 13 </div> 14 <div class="col-sm-5 col-md-5 itemInfo"> 15 <span class="item__price">¥<%= @items.with_tax_price.to_s(:dalimited) %>(税込)</span> 16 <% if customer_signed_in? %> 17 <%= form_with model: @cart_item, url: cart_items_path, local: true do |f| %> 18 <%= f.hidden_field :customer_id, :value => current_customer.id %> 19 <%= f.hidden_field :item_id, :value => @items.id %> 20 <label for="amountSelect">数量</label> 21 <%= f.select :amount, *[1..10] %> 22 <div class="purchaseButton"> 23 <%= f.submit "カートに入れる", class:"form-button" %> 24 </div> 25 <% end %> 26 <% else %> 27 <%= link_to "カートに入れる", new_customer_session_path ,class: "form-button" %> 28 <% end %> 29 </div> 30 </div> 31 </div> 32 </div> 33 </div>

表示内容

web

1【商品について】 タルトの主役はフルーツ。その美味しさを最大限に活かすために「フルーツは山盛りで」が店主のこだわり。 よくあるベリータルトに比べるとかさ高になっているのも、そのためです。 タルトの生地も、クリームも全てタルトとの相性を考えて作り出した、自慢のクリームとタルトです。 【郵送について】 こちらの商品は注文から5日以内に冷凍便にて発送されます。お届け指定日などある場合はご注文時に備考欄にお書き下さい。 ※お届け指定は注文日より2週間以内で承ります。 代引きを希望される場合は、メールにてご相談ください

イメージ説明
csvファイルのような改行を挟みたいのですが、改行が反映されません。

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

.bootstrap

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

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

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

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

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

y_waiwai

2021/12/22 06:07

質問文は編集できます 無駄に質問建てないで、追記修正しよう
tonkatyu

2021/12/22 06:13

すみません???? 画像と改行で質問を分けてしまいました。 次回から気をつけます。
MasaSakano

2021/12/26 14:05

タグに、CSV と HTMLとを加えることをお勧めします。
guest

回答1

0

HTMLの仕様上、改行文字はそのままでは無視されます(ブラウザや設定によって空白と同等と見做されたりあるいは何もなしと見做される)。だから、改行文字を<br>に置き換えて、かつHTMLとしてそれ以上エスケープしないようにする必要があります。

Viewにおいて、以下のようにするといけるでしょう。試していませんが。

erb

1<%= h(@items.introduction).gsub(/\r\n|\n|\r/, '<br>').html_safe %>

投稿2021/12/26 14:03

MasaSakano

総合スコア188

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問