0

我有一个新应用程序,我想与另一个 ror 应用程序共享公共部分。

例如,我有一个名为 MVC showcase,用于在以前的应用程序中显示图像,我希望在我的新应用程序中也有相同的 MVC。

现在我已经将我的新应用程序与前一个应用程序的数据库连接起来,创建了一个具有相同名称“showcase”的模型,并且可以得到它的列,如image_file_name; image_content_type;; image_file_size.. 但是在新应用程序中展示的视图页面中,它无法识别image哪个是回形针类型属性。

谁能告诉我如何使用以前应用程序中的图像?

非常感谢!

更新:

class Showcase < ActiveResource::Base
  self.site = "http://localhost:3000"
end

控制器:

class ShowcasesController < ApplicationController
   def index
    @showcases = Showcase.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @showcases }
      format.xml { render :xml => @showcases }
    end
  end

  def show
    @showcase = Showcase.find(params[:id])
    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @showcase }
      format.xml { render :xml => @showcases }
    end
  end
end

看法:

<%= image_tag @showcase.image.url %

错误:
# 的未定义方法“图像”

我的视图如何识别图像?

顺便说一句,在原始应用程序中,它没有渲染 xml,所以我手动附加渲染 xml 可以吗?

format.html # show.html.erb
      format.json { render json: @showcase }
      format.xml { render :xml => @showcases }
4

1 回答 1

0

如果您有适当的 RESTful API 来访问您的第一个应用程序(app1)中的展示资源,那么您可以使用来自其他 ROR 应用程序(app2)ActiveResource 的展示模型。ActiveResource 抽象了两个应用程序之间的通信,它看起来好像模型属于同一个应用程序。

如果app1中展示模型的restful url是www.app1.com/showcases,那么在app2中,您所要做的就是创建一个名为showcase的模型,如下所示。

class ShowCase < ActiveResource:Base
 self.site="www.app1.com" 
end

查看 rails cast 剧集http://railscasts.com/episodes/94-activeresource-basics了解更多详情。

于 2013-04-05T16:43:31.967 回答