0

私はRailsを初めて使用し、最初のRailsアプリケーション(ブログ)を作成します。これは、 Railsのドキュメントのガイドに従ってください。

しかし、アプリケーションを実行すると、理解できないことがわかりました。

http:// localhost:3000 / posts / 2

メソッドを使用GETすると、IDが2の投稿の詳細が返されます。

しかし、この投稿を更新すると、フォームのアクションは「/ posts/2」であることがわかりました。

投稿を削除すると、railsがアクション'/ posts /2'とメソッドを使用して本文にフォーム要素を作成することがわかりました。RailsはPOSTこの投稿を更新または削除することをどのように知っているのでしょうか。

ポストコントローラーに条件語が見つからないので。

誰でも教えてくれますか?

4

1 に答える 1

2

実行されるアクションは、パス動詞の一意の組み合わせによって決まります。

アプリフォルダでコマンドrake routesを実行すると、ルートのリストが表示されます。

パスは、リソースへのRESTfulルートです。

動詞はGET POST DELETE、、PUT

また、これをより詳細に説明しているRailsルーティングガイドを読むことをお勧めします。

rake routesこれが私のアプリの1つからのサンプル出力です:

      path name|verb  |path                              |action
============================================================================
    alias_lists GET    /alias_lists(.:format)             alias_lists#index
                POST   /alias_lists(.:format)             alias_lists#create
 new_alias_list GET    /alias_lists/new(.:format)         alias_lists#new
edit_alias_list GET    /alias_lists/:id/edit(.:format)    alias_lists#edit
     alias_list GET    /alias_lists/:id(.:format)         alias_lists#show
                PUT    /alias_lists/:id(.:format)         alias_lists#update
                DELETE /alias_lists/:id(.:format)         alias_lists#destroy

showupdateおよびdestroyすべてのパスは同じですが、動詞が異なることに注意してください。

show's verb    = GET
update's verb  = PUT
destroy's verb = DELETE
于 2012-04-08T00:49:58.743 に答える