我正在开发一个rails应用程序。它的呈现控制器名称,动作和ID在URL中,如
localhost:3000/content/video/2-page-item
所以,我希望删除控制器和动作,使用其他名称,如
localhost:3000/video/2-page-item
我使用的控制器是内容,操作是视频。我尝试在路线中使用以下代码
match "video" => "content#video", :as => "video", :via => [:get, :post]
我得到以下网址格式
localhost:3000/video?id=2-page-item
是否可以将上述网址格式设为
localhost:3000/video/2-page-item
答案 0 :(得分:0)
您可以在相对模型中覆盖Rail的to_param方法以生成参数化网址。
我假设您有一个名为内容模型的内容和属性描述的模型。例如,如果您有以下记录
内容ID => 2,description => 'page item'结果将是video / 2-page-item
class Content < ActiveRecord::Base
def to_param
[id, description.parameterize].join("-")
end
end