basyura's blog

あしたになったらほんきだす。

ルーティングのお勉強

class UsersController < ApplicationController
  def show
    @user = User.find_by_user_id(params[:user_id])
  end
 end
Money::Application.routes.draw do |map|
  match 'user/:user_id'  , :to => 'users#show'
  #=> http://localhost:3000/user/basyura

  match ':user_id/show'  , :to => 'users#show'
  #=> http://localhost:3000/basyura/show

  match ':user_id'       , :to => 'users#show'
  #=> http://localhost:3000/basyura

こんなに簡単にできるのか。面白いな。

RU してみてる

routes.rb で match を使ってルーティング

match ':user_id'        , :to => 'users#show'   , :as => 'user'
match ':user_id/edit'   , :to => 'users#edit'   , :as => 'edit_user'
match ':user_id/update' , :to => 'users#update' , :as => 'update_user'

erb でリンクを貼る際には as で指定したものに _path を付けたものを使えばいいようだ。

<%= link_to 'Edit', edit_user_path %>
<%= link_to 'Back', user_path %>
<%= form_for(@user , :url => update_user_path) do |f| %>