2012-01-31 59 views
1

我更喜欢手写我的Rails应用程序的路线,我现在有一种情况,我不知道什么是最好的办法做事情。我想有一个楼宇控制器,显示不同的页面,每一个建筑,如:如何处理这种路由的情况是Rails

building/town_center 
building/sawmill 
.. 

上述每个人都应该有自己的动作和视图页面。我通常会创建这样一个路径:

scope :path => '/building', :controller => :building do 
    get '/view/:slug' => :view, :as => 'view_building' 
    end 

但这仅指定一个动作,然后将需要调用另一个内部控制器方法重定向到所需的模板来显示。所以,我希望你的意见,你是否明确指定了每个建筑物(和行动)的不同路线?或者只是在view_building操作中重定向?

回答

1

我觉得你这样的事情后:

match "/building/:name", :to => "buildings#show", :as => :building 
在你的控制器动作“秀”只呈现为建筑物名称模板

然后:

render :template => 'buildings/#{params[:name]}' 
+0

我明白了,你在想的单一的路线,我也认为这可能是最好的方式,thanx。 – Spyros 2012-01-31 05:10:11

+0

不用担心。标记为答案,如果适合你 – 2012-01-31 05:13:54

+0

我遇到的唯一问题是如何在单个动作中处理可能的不同数据。镇中心可能有一个名为info的变量,而锯木厂可能有一个命名报告。这就是为什么我在考虑采取更多行动:/我对此有点不确定。 – Spyros 2012-01-31 05:18:05

相关问题