繁体   English   中英

格式化Ruby on Rails文本字段

[英]Formating Ruby on Rails text fields

我有一个@post模块,用户可以在其中编写自己的帖子。 问题在于这些帖子没有段落,用户无法在新行中开始撰写。 也许有宝石可以做到这一点? 我正在使用Ruby on Rails 3.2.1。

例如此文本:

该文本为粗体

该文本为斜体

这是清单:

  1. 项目1;
  2. 项目2;

但是在我的主页上,它看起来像这样:

文本为粗体文本为斜体这是列表:1.项目1; 2.第2项;

我希望你明白我的意思...

@post显示:

<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>

@post形式:

<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%>

也许我没弄对你。 但是我认为您需要在页面上使用富文本编辑器。

有很多富文本编辑器,我建议您检出Tinymce ,它也被wordpress使用。

这样用户可以输入段落并控制其他格式,这将导致html格式并保留所有样式。

我正在使用gem'tinymce gem 'tinymce-rails'将Tinymce与rails集成。 它只是将tinymce导入到资产管道中,没有提供任何帮助,但是我认为这非常好,可以与资产管道一起很好地工作,对我来说足够了,我不希望为此做太多包装,这是链接: tinymce -rails 您还可以找到很多其他的宝石,这些宝石提供了与Rails更紧密的集成。

Rails的simple_format将以HTML格式输出时使您的段落和换行符的格式正确,但是对于更高级的格式,您还需要其他内容。

如果您可以要求用户知道语法(Markdown是StackOverflow使用的语法),那么Markdown就是很好的选择。 Ruby有几种Markdown格式化程序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM