Ruby on rails 获取父资源的名称
嵌套资源在Rails中定义:Ruby on rails 获取父资源的名称,ruby-on-rails,ruby-on-rails-3,rest,Ruby On Rails,Ruby On Rails 3,Rest,嵌套资源在Rails中定义: resources :foo do resources :bar end resources :aaa do resources :bbb end 我试图在应用程序范围内进行布局,并链接到最顶层的资源,例如,如果用户位于栏界面的某个位置,它将有指向/foos/的方便链接 同时,如果用户在bbb中,则链接将指向/aaas 因此,问题是-在请求bar时,是否有任何方法可以获取父资源的名称 我知道params中有foo\u id,但问题是-我不能只从param
resources :foo do
resources :bar
end
resources :aaa do
resources :bbb
end
我试图在应用程序范围内进行布局,并链接到最顶层的资源,例如,如果用户位于栏
界面的某个位置,它将有指向/foos/
的方便链接
同时,如果用户在bbb
中,则链接将指向/aaas
因此,问题是-在请求bar
时,是否有任何方法可以获取父资源的名称
我知道
params
中有foo\u id
,但问题是-我不能只从params
获取密钥,并希望其中一个具有\u id
的密钥提示我父资源名。如果您确保每个嵌套模型都有一个名为parent
的方法(或类似的方法),这将返回父对象(显然),然后您可以在应用程序\u助手
中轻松实现到父对象的链接
希望能有所帮助。现在有一个过时的性感嵌套资源插件,但从源代码看,我无法获得-该插件如何获得名称。你的建议是一个解决办法。这些信息的来源在路由层的某个地方,而不是在模型中,问题是——如何从那里获得这些信息。没错,这是一个解决办法。据我所知,该信息不会从路由传递到控制器。您可以调查请求的url
,但我觉得这更像是一种黑客行为。我觉得一个模型知道它是父对象是很自然的,所以我认为这是一个很好的解决方案。但我总是有兴趣听到更好的解决方案。