7

ショー ルートをカスタマイズしようとしています... ユーザーが :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
4

2 に答える 2

11

config/routes.rb 内

get '/sales/:guid', to: 'sales#show'

または、Rails 4 を使用している場合は、次のことができます。

resources :sales, param: :guid

コントローラ内

def show
  @sale = Sale.find(params[:guid])
end
于 2013-11-02T21:34:09.110 に答える
1

routes.rb でカスタム ルートを定義できます。

get "/sales/:guid", :to => "sales#show"

guid次に、コントローラーの show アクションで、URL で渡されたものから必要なセールを見つけます。

def show
  @sale = Sale.find_by_guid(params[:guid])
end
于 2013-11-02T21:32:10.303 に答える