我正在使用 Rails 4.0.0 和 CKEDITOR 为客户构建一个小型博客,但我在显示最近的十篇文章和一小段摘录的页面时遇到了问题。
如果将图像插入到帖子、表格或任何其他 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
我的视图代码:
<% @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>
谢谢大家!
我最后的手段是在数据库中为“他们可以自己编写的摘录”创建一个新列。无论如何,这可能是一个更好的主意。