我是铁轨上的红宝石初学者。我正在开发一个我可以撰写文章的博客。
文章表格有标题,内容和图片列。
文章模型
class Article < ActiveRecord::Base
has_attached_file :image, styles: { medium: "300x300>", thumb: "100x100>" }
validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/
end
文章控制器
class ArticlesController < ApplicationController
def index
@articles = Article.all.order("created_at DESC")
end
def new
@article = Article.new
end
def create
@article = Article.new article_params
if @article.save
redirect_to articles_path
else
render 'new'
end
end
def edit
@article = Article.find(params[:id])
end
def update
@article = Article.find(params[:id])
if @article.update article_params
redirect_to articles_path
else
render 'edit'
end
end
private
def article_params
params.require(:article).permit(:title, :content, :image)
end
end
文章#新
<%= form_for @article, html: { multipart: true } do |f| %>
<%= f.text_field :title, placeholder: "Title" %><br /><br />
<%= f.text_area :content, placeholder: "Content" %><br /><br />
<%= f.file_field :image %><br /><br />
<%= f.submit %>
<% end %>
我正在使用&#34; paperclip gem&#34;用于上传图像。
我可以上传和显示与文章相对应的图像
我需要的是我想在我需要的文章内容之间显示图像(比如在stackoverflow中)。请帮帮我。提前谢谢。
答案 0 :(得分:3)
StackOverflow使用Markdown作为其内容。
您可以使用像RedCarpet这样的gem来解析标记,并渲染类似于StackOverflow的内容。
有关此主题的Rails投放视频 - Ruby on Rails - Railscasts #272 Markdown With Redcarpet
答案 1 :(得分:2)
对于图像,您可以尝试像CKeditor这样的丰富编辑器,它与Paperclip / Carrierwave相连。 通常它会使用单独的模型来存储图像。 您将通过CKeditor上传图像,并将图像插入内容中。