ruby-on-rails - tinymce 图片上传后服务器响应错误

标签 ruby-on-rails

我正在尝试使用回形针和 tinymce-rails-image-upload 上传图像关注this演示。我正在问题模型中上传图像(属于评论)。当我上传时,我收到“从服务器收到错误响应”消息,并且图像未显示在编辑器中,但它确实创建了一个新问题。

这是我上传后的日志:

Processing by TinymceAssetsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"auth token", "hint"=>"", "file"=>#<ActionDispatch::Http::UploadedFile:0x000001025a2780   @tempfile=#   <File:/var/folders/t4/86vsrmds42j84r36kwpng7k00000gn/T/RackMultipart20150207-  12522-9rj6xq>, @original_filename="applecash.jpg", @content_type="image/jpeg",   @headers="Content-Disposition: form-data; name=\"file\";   filename=\"applecash.jpg\"\r\nContent-Type: image/jpeg\r\n">, "alt"=>""}
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/t4/86vsrmds42j84r36kwpng7k00000gn/T/RackMultipart20150207-12522-9rj6xq[0]' 2>/dev/null
Unpermitted parameters: utf8, authenticity_token
(0.1ms)  begin transaction
Question Load (0.5ms)  SELECT "questions".* FROM "questions" WHERE (questions.position IS NOT NULL) AND (1 = 1) ORDER BY questions.position DESC    LIMIT 1
Binary data inserted for `string` type on column `file_content_type`
SQL (0.8ms)  INSERT INTO "questions" ("created_at", "file_content_type", "file_file_name", "file_file_size", "file_updated_at", "position", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?)  [["created_at", Sun, 08 Feb 2015 18:35:07 UTC +00:00], ["file_content_type", "image/jpeg"], ["file_file_name", "timcook.jpg"], ["file_file_size", 120040], ["file_updated_at", Sun, 08 Feb 2015 18:35:07 UTC +00:00], ["position", 9], ["updated_at", Sun, 08 Feb 2015 18:35:07 UTC +00:00]]
(7.3ms)  commit transaction
Completed 200 OK in 68ms (Views: 0.6ms | ActiveRecord: 8.7ms)

这是tinymce Controller :

class TinymceAssetsController < ApplicationController
respond_to :json

def create
  geometry = Paperclip::Geometry.from_file params[:file]
  question = Question.create params.permit(:file, :alt, :hint)

 render json: {
   question: {
   url:    question.file.url,
   height: geometry.height.to_i,
   width:  geometry.width.to_i
  }
 }, layout: false, content_type: "text/html"

 end
end

问题 Controller 创建操作如下所示(我是否向tinymce Controller 添加@comment和附加参数?):

def create
  @comment = Comment.find(params[:comment_id])
  @question = @comment.questions.new(question_params)
end
...
def question_params
  params.require(:question).permit(:body, :comment_id, :user_id, :file, :position)
end

问题模型:

class Question < ActiveRecord::Base
  has_attached_file :file
end

和编辑器 View :

<%= simple_form_for [@comment, Question.new] do |f| %>    
<%= f.text_area :body, :class => "tinymce", :rows => 10, :cols => 60 %>
<% end %>
<%= tinymce plugins: ["uploadimage"] %>

我很困惑为什么它为每个上传的图像创建一个新问题以及仍然导致“错误响应”错误的原因。

最佳答案

似乎tinymce-rails-imageupload需要“图像”来响应上传的文件

render json: {
   image: {
   url:    question.file.url,
   height: geometry.height.to_i,
   width:  geometry.width.to_i
  }
 }, layout: false, content_type: "text/html"

关于ruby-on-rails - tinymce 图片上传后服务器响应错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28416265/

相关文章:

ruby-on-rails - 使用 Liquid 作为 Ruby on Rails 布局

ruby-on-rails - 如何让 Phusion Passenger 使用正确版本的 Ruby?

ruby-on-rails - 使用 LDAP 和本地数据库进行 Rails 身份验证

ruby-on-rails - Action 邮件 : How do I render dynamic data in an email body that is stored in the database?

javascript - 使用 UJS 创建辅助标签

ruby-on-rails - 为什么 Ruby 会在 2 个看起来相同的 float 上失败?

javascript - jquery 和 ajax 工具提示不适用于实时加载的内容

ruby-on-rails - Rails url 助手在 Rspec 中不起作用

ruby-on-rails - 模型关联问题

mysql - Rails 数据库备份脚本