(編集:私は一時的にテーブルに配置することでこれを修正しましたが、各行を賢明にスタイリングすることでクールなことをしたいと思います。テーブルで制限する)新しい行への参加:新しい行への表示
各文字列を独自の改行で表示するビューアページに文字列の配列を表示したいとします。私は( - 私はこれが私のユースケースのための正しい動きであることを確信している私の質問は、このデータ構造に関係しない)story_line
、line_index
、およびstory_id
ためtitle
とauthor_id
の列とStory
モデル、および列を持つStoryLine
モデルを持っています。
story_lines = params[:story_text].split("\n")
story_lines.each do |line|
@story_line = @story.story_lines.build
index = story_lines.index(line)
@story_line.line_index = index
@story_line.story_line = line
@story_line.save!
end
:ストーリーのテキストは、テキストが入力されますときに、私は次のようにアクションを作成中のデータベースにそれらを解析し、新しい行に分割されている期間をせずに多くの行で構成されユーザーは、すべてのstory_lines
コントローラのshowアクションに以下のコードを介して自分のインデックスの順に表示されます:@story_lines = @story.story_lines.order(:line_index).pluck(:story_line).join("\r\n")
:<%= @story_lines %>
しかし異なるなど、多くのために、私はこれを変えようとしました。私のコントローラとビューでは、新しい行に表示されません。彼らは正常に正しい順序で結合していますが、各文は次の文に対して右上がります。文の最後の単語と次の文の最初の単語の間に文字通りスペースはゼロです。
どのようにすればいいですか?はになりますか?私は、テーブルの行に各改行を置くことによってそれを行うことができるとほぼ肯定的ですが、これは扱うことができるはずの安価な回避策のようです。<br />
これは簡単だったので、 '\ n'はhtmlとは関係がないと思いますか? – michaelsking1993
悲しいことにnah :) htmlファイルには良いキャリッジリターンが追加されています...しかし、それは私たち人間がソースコードを読むのではなく、ブラウザがエンドユーザに提示するとき –