1

我有一个 rails 应用程序需要引用另一个 rails 应用程序来填充它的一些模型,并且正在使用 Active Resource 来完成它。

当我需要到达如下路线时:

/channels.xml

完全没有问题,我可以用自动映射就好了……

但是,我还需要能够处理如下路线:

/channels/1/programs.xml

这就是我卡住的地方。

只看文档,看起来这可能算作一个自定义的宁静路线,在这种情况下,我会被困在做可怕的凌乱外观:

Channel.first.get(:programs)

这不仅看起来很糟糕,而且也不起作用(实际拥有数据的 rails 应用程序会看到

/channels//programs.xml

里面没有身份证。您知道,这很酷,因为事情变得更加复杂,并且其他 rails 对象中的“通道”模型是从没有考虑到 rails 的遗留数据库构建的(因此没有“id”列)。相反,它使用“station_id”。

所以,如果我必须使用那个凌乱的 Channel.get 方法,我怎样才能确保它正确设置了 id?我可以从 ActiveResource 应用程序中执行此操作,还是我需要在源 Rails 应用程序中进行更改?

编辑:以防万一有人建议,我已经尝试过 Channel.first.get(:programs, :id => 1) 但这只是让我得到了如下路线:

/channels//programs.xml?id=1。

也许我将不得不放弃宁静的路线,然后从那里拉出 id....但我真的不想...

4

1 回答 1

0

查看名为 prefix_options 的东西

self.prefix_options[:channel_id] = <some channel_id>
于 2012-08-31T22:00:23.807 回答