ruby-on-rails – Rails – 自定义资源路由

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails – 自定义资源路由前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试自定义我的节目路线…我不希望用户能够通过以下方式查看项目:id …

我有一个销售模型,展示路线是:

sale GET    /sales/:id(.:format)     sales#show

但是,我不希望用户能够通过id查看销售,相反,我希望它是:

sale GET    /sales/:guid(.:format)     sales#show

guid是我在创建对象时生成的uuid:

def populate_guid
    self.guid = SecureRandom.uuid()
end

解决方法

在config / routes.rb中
get '/sales/:guid',to: 'sales#show'

或者如果您使用rails 4,您可以:

resources :sales,param: :guid

在控制器中

def show
  @sale = Sale.find(params[:guid])
end
原文链接:https://www.f2er.com/ruby/268277.html

猜你在找的Ruby相关文章