首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有oracle增强适配器的Rails send_data

带有oracle增强适配器的Rails send_data
EN

Stack Overflow用户
提问于 2013-07-16 16:41:07
回答 2查看 160关注 0票数 0

我在检索存储在遗留oracle数据库中的blob图像时遇到了问题。当我进入http://server/images/id/type时,我会收到一个no implicit conversion of Symbol into Integer错误。

我有以下设置:

GemFile

代码语言:javascript
复制
gem 'rails', '3.2.13'
gem 'activerecord-oracle_enhanced-adapter'
gem 'ruby-oci8'

代码语言:javascript
复制
CREATE TABLE "SCHEMA"."IMAGE_TABLE" 
(   "IMG_TYPE_SEQ_NO" NUMBER(12,0), 
"IMG_TYPE" VARCHAR2(10 BYTE), 
"IMG_DESC" VARCHAR2(60 BYTE), 
"IMG_LENGTH" NUMBER, 
"IMG_BLOB" BLOB
);

模型

代码语言:javascript
复制
class Image < ActiveRecord::Base
self.table_name = 'schema.image_table'

def self.image_by_id_and_type(id, type)
  where(
    'img_type_seq_no = :id and img_type = :type',
     id: id, type: type
  )
end

控制器

代码语言:javascript
复制
class ImagesController < ApplicationController

  def show_image
    @image = Image.image_by_id_and_type(params[:id], params[:type])
    send_data @image[:img_blob], type: 'image/gif', disposition: 'inline'
  end

end

我尝试过使用send_data @image.img_blob,并得到了一个undefined method错误。

我做错了什么?

谢谢,克里斯

更新:

我想知道是否存在类型转换的问题。blob映像通过java swing应用程序持久化,该应用程序将其转换为java字节数组。这会是问题吗?如果是这样,我如何将java字节数组转换为send_data可以理解的内容?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-18 17:58:27

代码语言:javascript
复制
@image = Image.image_by_id_and_type(params[:id], params[:type])

返回一个ActiveRecord::Relation对象,因此为了从它获得实际值,我必须调用first

代码语言:javascript
复制
send_data @image.first[:img_blob], type: 'image/gif', disposition: 'inline'
票数 0
EN

Stack Overflow用户

发布于 2013-07-16 16:49:46

这是个疯狂的猜测。请试一试

代码语言:javascript
复制
def show_image
    @image = GiftCardImage.image_by_id_and_type(params[:id].to_i, params[:type])
    send_data @image[:img_blob], type: 'image/gif', disposition: 'inline'
end

在你的模型里

代码语言:javascript
复制
class Image < ActiveRecord::Base
self.table_name = 'schema.image_table'

def self.image_by_id_and_type(id, type)
  where("img_type_seq_no = ? and img_type = ?", id, type)
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17682292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档