new @ StorySheetsController

スト紙新規作成フォームの表示。

url

リクエスト

認証ユーザ
権限作家
methodGET
urlパラメータなし
POSTデータjson形式*
html
json
jsonp×
js

解説

用紙をストーリーに関連付けるための入力フォームをまっさらなページで表示する。このアクションが返すフォームに対し、ユーザが入力して送信ボタンを押すことで、作成アクションStorySheetsCreateが起動され、新規の行が作成される。だから、フォームの表示のみの処理だけで、これといったdb処理はない。もっとも、フォームで入力すべきデータはidなので、このフォームを剥きだしでユーザに見せることは推奨されない。フォームは非表示にしておいてJavaScriptなどのUIでストーリーと用紙のidを確定させてから、このフォームで送信すると良い。ただ、それは複雑な手順を踏むので、フォームを完成させる処理はクライアントに任されると考える。

  • セッションまたは認証トークンからユーザアカウントを特定する。
  • ユーザアカウントから作家を取得する。
  • スト紙モデルの初期データを生成する。
  • スト紙モデルにデフォルト値を補充してもらう。
  • 作業結果をクライアントに戻す。

urlパラメータ

なし

POSTデータ

auth_token

  • 外部からjsonで要求する場合、認証処置として認証トークンが必要。

戻り値

正常系

  • htmlなら、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。
  • jsなら、ステータスコード200 OKとともに、部分テンプレートから起こしたページ部品を返す。
  • jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。
    • 出力フォーマットはスト紙モデルのjson出力オプションにに従う。

参考:StorySheetsNewView

例外系

  • ユーザアカウントでサインインしてなかった。(Devise)
    • htmlなら、ステータスコード302 Foundとともに、サインインを促すページ(/users/sign_in)へ遷移する。
    • jsなら、ステータスコード401 Unauthorizedとともに、応答メッセージにUnauthorizedを返す。
    • jsonなら、ステータスコード401 Unauthorizedとともに、応答メッセージにUnauthorizedを返す。
  • 作家登録してなかった。
    • htmlなら、ステータスコード302 Foundを返すとともに、作家登録を促すページ(/authors/new)へ遷移する。
    • jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。