2012-09-05 30 views
1

我試圖訪問我的Rails應用程序中的資源,我想根據URL中的變量填充信息。鑑於網址:Rails:在URL中傳遞變量

someapp.com/resources/variable/resource 

我想給variable傳遞到Rails的添加元素,以resource。是否有任何快速重新佈線的方式來實現這一目標?還是它非常複雜?

乾杯!

回答

7

這不應該是「瘋狂複雜」,但它不是很清楚你想完成什麼。

你可以嘗試添加路由具有可變段:

get "/resources/:variable/resource" => "controller#action" 

然後,在你的控制器,接入params[:variable]


如果您已經擁有的資源定義,您可以通過以下增加一個額外的「成員」路線:

resource :resources do 
    get :resource, on: member 

    # or 

    member do 
    get :resource 
    end 
end 

無論是以前的可以讓你的控制器路由/resources/:resource_id/resource到資源控制器resource操作。

+0

這是給我的線索,是的。但是如果「資源/資源」已經存在,它似乎不起作用。在我的'routes.rb'中,我已經有'resources:resources'。 –

+0

查看我的更新。另外,資源對於資源來說是一個非常糟糕的名字。您的資源應具有特定的名稱,以匹配它們代表的內容。 – meagar

+0

啊,那真是太棒了!乾杯。我的資源沒有被命名,我只是用它來舉例。其結果是遠比應該複雜得多。 –