Rails 3路由 - 路由不同的参数:id

时间:2011-06-30 02:05:07

标签: ruby-on-rails-3 routes

我很清楚Rails 3 +的新路由系统。

我想将“/:name”匹配为:controller => :profiles,:action => :show,:name =>名称

我如何实现这一点?

我尝试使用match "/:name" => "profiles#show",但这只使用:name as:id ...

你的约恩。

1 个答案:

答案 0 :(得分:2)

使用match "/:name" => "profiles#show",这将触发show控制器上的profiles操作。在该控制器实例中,您可以从params[:name]

访问匹配的网址

我假设您尝试按名称而不是ID获取模型记录,因此您必须修改show操作。例如,

def show
  @profile = Profile.find_by_name(params[:name])
end