我有一个 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....但我真的不想...