Ruby on rails 仅从包含图像、表格等的博客文章中获取文本

Ruby on rails 仅从包含图像、表格等的博客文章中获取文本,ruby-on-rails,blogs,Ruby On Rails,Blogs,我正在使用Rails 4.0.0和CKEDITOR为一个客户构建一个小博客,我对显示十篇最新文章和一个小摘录的页面有一个问题 如果一个图像被插入到post中,或者一个表中,或者任何其他html元素中,也会出现这种情况 我可以只抓取文本而不抓取图像、表格等吗 这是我的控制器代码: class PostsController < ApplicationController before_filter :authorize, only: [:new, :create, :edit, :up

我正在使用Rails 4.0.0和CKEDITOR为一个客户构建一个小博客,我对显示十篇最新文章和一个小摘录的页面有一个问题

如果一个图像被插入到post中,或者一个表中,或者任何其他html元素中,也会出现这种情况

我可以只抓取文本而不抓取图像、表格等吗

这是我的控制器代码:

class PostsController < ApplicationController

  before_filter :authorize, only: [:new, :create, :edit, :update]

  def index
    @posts = Post.all
  end

  def new
    @post = Post.new
  end

  def create
    @post = Post.new(params[:post].permit(:title, :text, :photo))

    if @post.save
       redirect_to @post
    else
       render 'new'
    end
  end

  def edit
    @post = Post.find(params[:id])
  end

  def update
    @post = Post.find(params[:id])

    if @post.update(params[:post].permit(:title, :text, :photo))
      redirect_to @post
    else
      render 'edit'
    end
  end

  def destroy 
    Post.find(params[:id]).destroy
    redirect_to posts_path
  end

  def show
    @post = Post.find(params[:id])
  end

  private
    def post_params
      params.require(:post).permit(:title, :text, :photo)
    end

end
class PostsController
和我的视图代码:

<% @body_class = "blog" %>

<div class="wrap">

  <h1>Listing posts</h1>

  <p><%= link_to 'New post', new_post_path, 'data-no-turbolink' => 'false' %></p>

    <% @posts.each do |post| %>
      <div class="post" id="<%= post.id %>">
        <div class="postTitle">
          <%= post.title %>
        </div>
        <div class="postContent">
          <%= post.text.html_safe %><br/><br/>
          <%= link_to 'Show', post_path(post) %> 
          <% if current_user %>|
          <%= link_to 'Edit', edit_post_path(post), 'data-no-turbolink' => 'false' %> |
          <%= link_to 'Destroy', post_path(post), :confirm => 'Are you sure you want to delete this post?', :method => :delete %>
          <% end %>
        </div>
      </div>
    <% end %> 

</div>

列名职位
'false'>



| 'false'>| “确实要删除此帖子吗?”,:method=>:delete%>
谢谢大家

我的最后一个办法是在数据库中创建一个新列,为他们自己编写的“摘录”创建一个新列。无论如何,这可能是一个更好的主意。

您需要更多


你应该在将回调保存到你提到的用于优化的特殊字段之前将结果保存到中。

问题是什么?你尝试过吗?好主意!该页面现在正在爬行,只有15个测试帖子。这应该会加快速度!以前从未想过要这样做!
truncate(strip_tags(post.text), length: 100, separator: ' ')