宝石部屋

プログラミング(主にRuby on Rails)のメモ帳

リソースベースのルーティングについて

resourcesメソッドリソースを取得すると、コントローラのアクションを表すパスを

「リソース名 + _path」の形のメソッドで取得できるようになる。

 

例として、resources :persons(リソース名の複数形)とすることで、

indexアクション:  persons_path

showアクション:  person_path(person)

newアクション:  new_person_path

editアクション:  edit_person_path(person)

createアクション:  persons_path

updateアクション:  person_path(person)

destroyアクション:  person_path(person)

これらのメソッドが使えるようになる。

個別のリソースを扱うアクションへのパスを得るためには、引数にモデルオブジェクトを渡す

 

ちなみに、このようにも書くことが可能。

link_to @person.name + "の詳細", @person(showアクション)

link_to @person.name + "を削除", @person, method: :delete(destroyアクション)

 

逆に、idパラメータを取らないアクションでは「_path」の部分をとった文字列をシンボルにしたものが使える。

link_to "会員一覧", :persons

link_to "新規登録", :new_person