質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

10394閲覧

rake routesした際のprefixとは??

cheeeeeeese

総合スコア179

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

1グッド

4クリップ

投稿2015/08/28 08:20

皆様、よろしくお願い申し上げます。

routingを設定した時に、名前付きルートを確認するため"prefix"を確認することがあるとおもいます。

私は"prefix"とはなんぞや???と疑問をもってしまったため、このprefixがRubyにおいて何を意味するのか知りたいと考え、質問いたしました。

以下現状の理解

Verb(HTTPリクエストメソッドを明示)
URIパターン(リクエストされる際のURLを明示)
Controller#Ac(ルーティングが対応するコントローラとアクションの明示)
は上記の認識で正しいとおもいます。(認識の齟齬がある場合はご指摘ください。)

Google先生がおっしゃるにはprefixとは接頭辞であり、要素名など先頭につけてなんらかの意味や機能を付与すると定義されている、ということです。

これでは表面的な理解でしかできないため、詳しくお教えいただければとおもいます。

よろしくお願い申し上げます。

Koyyyyyy👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

rake routes で確認できるprefix を利用すると、ビューで利用するlink_to メソッドや、コントローラで書くrender, redirect メソッドなどが必要とするパスの指定を簡単に書くことが出来ます

実際の使われ方はrails generate scaffold して、ビューやコントローラを見てみるとわかりやすいです

前提/準備

bash

1mkcd prefix # mkdir prefix && cd prefix 2rails new . 3rails g scaffold user name:string

この時点でのrake routes

shell

1 Prefix Verb URI Pattern Controller#Action 2 users GET /users(.:format) users#index 3 POST /users(.:format) users#create 4 new_user GET /users/new(.:format) users#new 5edit_user GET /users/:id/edit(.:format) users#edit 6 user GET /users/:id(.:format) users#show 7 PATCH /users/:id(.:format) users#update 8 PUT /users/:id(.:format) users#update 9 DELETE /users/:id(.:format) users#destroy

Prefix って? (Rails コンソール)

ここでおもむろにrails console でRails コンソールを立ち上げ、操作していきます

bash

1rails console 2Loading development environment (Rails 4.2.0) 3[1] pry(main)>

rails console を利用すると、1 + 1 といった簡単な操作から、Rails 環境特有の操作(モデルの内容を確認するなど)までその場で入力して結果を確認することが出来ます
(※特に設定をしていなければpry ではなくirb が立ち上がると思います)

  • ヘルパーをinclude する

bash

1include Rails.application.routes.url_helpers 2include ActionView::Helpers
  • プレフィックスに _path をつけてみる

bash

1users_path 2=> "/users" 3 4new_user_path 5=> "/users/new"

以上何か参考になれば幸いです

Links

投稿2015/09/01 07:37

編集2015/09/01 07:38
gouf

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問