Skip to content

Instantly share code, notes, and snippets.

@deeeki
Created July 22, 2012 13:51
Show Gist options
  • Save deeeki/3159770 to your computer and use it in GitHub Desktop.
Save deeeki/3159770 to your computer and use it in GitHub Desktop.
RailsにおけるRESTfulなURL設計勉強会
  • legacy wild controller route ':controller(/:action(/:id))(.:format)' は使わない派

  • 利用するURLを明示しておきたい

  • named_route使えないとリンクの記述が冗長になるのでは

  • namespaceなど少し複雑なことをやろうとすると何かしらルーティングを書くことになり、統一感がなくなる

  • 確認画面

    • confirmアクションの追加
      • 各アクションがすっきりする
      • 新規と編集で挙動が変わる場合 (edit_confirmアクション?)
    • パラメータ(mode=confirm)またはモデルの確認用プロパティ(http://bit.ly/mRQ8I5)
      • ifの分岐が見づらいかも
  • 完了画面

    • finish or completeアクションの追加
    • パラメータ(finished=1)でshowアクションとか
  • ステップ型入力フォーム

    • 各アクション(入力内容に適した命名)
    • パラメータ(step=2)またはモデルの進捗管理用プロパティ
    • 確認画面と似たようなメリットデメリット
  • マイページと各ユーザーのページの定義のしかた

    • user(s)というリソース名だけでやるのはしんどそうなイメージ
  • Deviseでマイページつくるのは少し制約ある

    • 他の認証系gemはどうなんでしょう
  • 例「申し込みに対するアンケートの回答」

    • /entry/survey/answer
      • リソースの親子関係がはっきりしてるけど長い
    • /survey
      • シンプルだけどリソース名として違う気がする
    • /survey/answer or /entry/survey
      • どちらかに落ち着きそうですけどどうでしょう
  • サイトトップページ用のルーティング定義

    • リソースに特化してなければ pages#index にしてる
  • ajaxで処理するアクション名をajax_xxxとするのはどうなのか

  • routes.rb のデフォルトコメントは消したほうがいいのか

Sandbox::Application.routes.draw do
#アンケート ユーザー向け画面
resource :entry, only: [:new, :create, :show] do
resource :survey, only: [] do
resource :answer, only: [:new, :create, :show]
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment