我有一个Post
模型:
create_table "posts", :force => true do |t|
t.string "title"
t.string "content"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "comments_count", :default => 0, :null => false
t.boolean "published", :default => false
t.datetime "published_at"
t.boolean "draft", :default => false
end
这是它的形式:
<%= form_for(@post, :html => { :multipart => true }) do |f| %>
<%= render 'shared/error_messages' %>
<div class="field">
<%= f.label :title %>
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :content %>
<%= f.text_area :content %>
</div>
<div class="field">
<%= f.label :draft %>
<%= f.check_box :draft %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我正在寻找一种从.doc, .docx, and rtf
文件中获取文本并将它们显示到content
文本字段中的方法(因此用户不必打开他的文件、复制文本并将其粘贴到表单中)。
有什么建议么?
(是否有任何 gem、文本编辑器或 jQuery 插件可以做到这一点?)?
编辑:
卡在这里:
post.rb:
class Post < ActiveRecord::Base
require 'docx'
.
.
.
def read_docx
d = Docx::Document.open(self.document)
d.each_paragraph do |p|
puts d
end
end
end
post_controller.rb:
class PostsController < ApplicationController
before_filter :authenticate_user!, :except => [:show, :index]
.
.
.
def create
@user = current_user
@post = @user.posts.new(params[:post])
@doc_text = (no idea what to do here)
if @post.save
redirect_to @post, notice: 'post was successfully created.'
else
render action: "new"
end
end
def edit
@post = Post.find(params[:id])
end
.
.
.
帖子/new.html.erb:
<%= form_for(@post, :html => { :multipart => true }) do |f| %>
<%= render 'shared/error_messages' %>
<div class="field">
<%= f.label :title %>
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :content %>
<%= f.text_area :content, :value => @doc_text %>
</div>
.
.
.
我已经制作了回形针上传 docx 文件
我创建了一个名为:document