0

ユーザーが自分の投稿を書くことができるモジュール @post があります。問題は、これらの投稿に段落がなく、ユーザーが新しい行に書き始めることができないことです。多分それを可能にする宝石がありますか?Ruby on Rails 3.2.1 を使用しています。

たとえば、このテキスト:

このテキストは太字で、

このテキストは斜体です

これはリストです:

  1. 項目1;
  2. 項目 2;

しかし、私のホームページでは、これは次のようになります。

このテキストは太字です このテキストは斜体です これはリストです: 1. item 1; 2.項目2;

私の言いたいことを理解していただければ幸いです...

@投稿ショー:

<div id="content">
<div class="post">
    <h1 class="title"><%=@post.title%></h1>
    <p class="byline"style="text-align: right; font-weight: bold;">Raksts izveidots: <%= @post.created_at.utc.strftime("%d.%m.%Y") %></p>
    <div class="entry">
        <p><%= @post.content  %></p>
        <%= image_tag @post.bildes.url(:medium) %>
        <%= image_tag @post.bildes.url(:thumb) %>
    </div>
</div>

@投稿フォーム:

<div id="content">
<%= form_for(@post) do |f| %>
  <% if @post.errors.any? %>
<div id="error_explanation">
  <h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>
  <ul>
  <% @post.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
  <% end %>
  </ul>
</div>
  <% end %>
<% create_url = {:url=>{:action=>"create"}} if @post.new_record? %>
    <% form_for @post, :html => { :multipart => true } do |t| %>
      <b><%= t.label :title, 'Virsraksts:' %></b><br />
      <%= t.text_field :title %><br /><br />
      <b><%= t.label :content, 'Teksts:' %></b><br />
      <%= t.text_area :content %><br /><br />
      <b><%= t.label :bildes, 'Pievienot bildes:' %></b><br />
      <%= f.file_field :bildes %><br /><br />
      <%= t.submit %>
 <% end %>
      <%end%>

4

2 に答える 2

4

多分私はあなたを正しく理解しませんでした。ただし、ページではリッチテキストエディタを使用する必要があると思います。

リッチテキストエディタはたくさんあります。Tinymceをチェックアウトすることをお勧めします。WordPressでも使用されています。

ユーザーが段落を入力して他の形式を制御できるようにするため、HTML形式になり、すべてのスタイルが保持されます。

gem 'tinymce-rails'Tinymceをレールと統合するために使用しています。Tinymceをアセットパイプラインにインポートするだけで、ヘルパーは提供されませんが、非常に優れていると思います。アセットパイプラインでうまく機能します。これで十分です。これをラップするのはあまり好きではありません。リンクは次のとおりです。 -レール。また、レールとのより緊密な統合を提供する他の多くの宝石を見つけることができます。

于 2012-04-12T06:30:13.950 に答える
4

Railssimple_formatでは、HTML として出力されたときに段落と改行が正しくフォーマットされますが、より高度なフォーマットには別のものが必要になります。

Markdownは、ユーザーが構文を知っている必要がある場合に最適です (Markdown は StackOverflow が使用するものです)。Ruby 用の Markdown フォーマッタがいくつかあります。

于 2012-04-12T06:44:35.530 に答える