1

私のrailsアプリには、カートコントローラー用のそのようなルートがあります。

resources :carts

だからレイアウトでは、私の論理によれば、私は持っています:

= link_to "Моя корзина", @cart

そしてブラウザで私は例えば見ます:

******:3000/carts/112

ただし、ネストされたレールルートを投稿のようなリクエストとして表示できますか?だから私は持っているでしょう:

******:3000/carts/

また、レーキルート:

arts GET    /carts(.:format)                                                          carts#index
                                  POST   /carts(.:format)                                                          carts#create
                         new_cart GET    /carts/new(.:format)                                                      carts#new
                        edit_cart GET    /carts/:id/edit(.:format)                                                 carts#edit
                             cart GET    /carts/:id(.:format)                                                      carts#show
                                  PUT    /carts/:id(.:format)                                                      carts#update
                                  DELETE /carts/:id(.:format)                                                      carts#destroy
                             cart POST   /carts/:id(.:format)                                                      carts#show

私は今、自分のメソッドのためにそれを書く方法をしています...しかし、ビルトインショーをどうやって使うのですか?

show routeを変更して、showのidがURLによるget-paramとしてではなく、requestのpost-paramとして送信されるようにする必要があります...

4

3 に答える 3

2

このようなルートを追加できます(routes.rb)

元:

resources :carts do
  member do
    post :add
 end
end

Railsルートの詳細

于 2013-01-09T20:34:31.823 に答える
1

このメソッドは、ここでresources説明するように、事前定義されたルートの束を単純に配置します。

具体的には、

get '/carts/:id' => 'carts_controller#show'
post '/carts' => 'carts_controller#create'
...

別のルートセットを使用する場合は、を使用せずresources、代わりに独自のルートを定義してください。

また、この方法でカートIDをユーザーから隠すことはできません。リクエストにIDが含まれている場合、それはユーザーがIDを表示できることを意味します。彼はFirebugを使用するか、アドレスバーの代わりにページソースを表示する必要があるかもしれませんが、それでも秘密ではなく、保護されていません。

于 2013-01-09T20:35:28.217 に答える
-1

コンソールで実行rake routesして、ルートを確認してください。

また、RESTfulルートの詳細については、 http: //guides.rubyonrails.org/routing.html#crud-verbs-and-actionsを参照してください。

于 2013-01-09T20:28:53.893 に答える