Ruby on rails 3 Rails 3.0中的活动资源,具有非标准ID的嵌套资源
我有一个rails应用程序,需要引用另一个rails应用程序来填充它的一些模型,我正在使用活动资源来完成这项工作 当我需要走这样的路线时:Ruby on rails 3 Rails 3.0中的活动资源,具有非标准ID的嵌套资源,ruby-on-rails-3,activeresource,Ruby On Rails 3,Activeresource,我有一个rails应用程序,需要引用另一个rails应用程序来填充它的一些模型,我正在使用活动资源来完成这项工作 当我需要走这样的路线时: /channels.xml /channels/1/programs.xml 没有任何问题,我可以使用自动映射很好 但是,我还需要能够处理以下路线: /channels.xml /channels/1/programs.xml 这就是我被困的地方 看看这些文档,看起来这可能算是一个定制的restful路径,在这种情况下,我会被困在做一件看起来非常混乱
/channels.xml
/channels/1/programs.xml
没有任何问题,我可以使用自动映射很好
但是,我还需要能够处理以下路线:
/channels.xml
/channels/1/programs.xml
这就是我被困的地方
看看这些文档,看起来这可能算是一个定制的restful路径,在这种情况下,我会被困在做一件看起来非常混乱的事情:
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.xml
/channels/1/programs.xml
/channels//programs.xml?id=1
也许我将不得不放弃restful路由,只需从那里提取id…但我真的不想…研究称为前缀选项的东西
self.prefix_options[:channel_id] = <some channel_id>