Rails:在无表格的activerecord中模仿关系

时间:2009-04-21 23:30:43

标签: ruby-on-rails

我正在使用BaseWithoutTable插件来扩展ActiveRecord。这允许我创建没有基础表的模型(我从Web服务获取数据)。我希望我的网络应用程序能够保持安静,但是如果没有关系,我会对如何做到这一点感到难过。

更具体地说,假设我有一个书模型和一个作者模型,我从Web服务获得这两个资源。我想访问/ authors / 1 / books等书籍资源。

似乎我可以选择两条路线。首先,破解关系(belongs_to,has_many),这样我就可以在不需要外键的情况下定义自己的关系。其次,我可以构建自定义路由和控制器方法,允许我访问以前的URL。

如果有人对如何做到这一点有任何想法,我将非常感激。

如果您需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

对于给出的网址,您可以执行以下操作。

/作者/ 1 /书籍

class Books < ApplicationController
  before :find_author

  def show
   @books = Books.get_from_web_service_for_author(@author)
  end

  def find_author
    @author = params[:author_id]
  end
end

您需要定义访问Web服务的方法,并在路由中定义嵌套资源。