心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

createとnew

      2014/01/19


ruby on rails3プリケーションプログラミングの本の内容をruby2.0+rails4でやってみようと思っていましたが、正直あまりよい本ではありませんでしたので中断しました。理由は
・最終的になにができあがるかみせていない
・ひととおり技術の羅列、資料的
・チュートリアルになっていなく、どこを新規に記述すべきか明示していない。
・無理矢理進めようとしているせいか、あまりコーディングとして望ましい姿になっていない
・上と同じ原因で開発の考え方も間違ったものがみにつきそう
本書はおすすめいたしません。Railstutorial.jpをおすすめします。以下はメモ書き。

Raile3と4でcontrollerのコードが違うのはcreateか。

p80

newはあまりかわらない。XMLのところだけ追加。XMLでnewなんて何するかわからないけど、とりあえず追加しておきます。本によると、スキーマ情報を送るんだとか。p81ですね。

  def new
    @book = Book.new

    def show
      respond_to do |format|
        format.html # new.html.erb
        format.xml  { render xml: @book }
      end 
    end
  end

としました。

cretaeはエラー時のメッセージ表示がRails4ではjson使ってやっている。これはどうするべきかわからないので、とりあえず残しておいて、xml部分だけ追加しておく。

def create
    @book = Book.new(book_params)

    #空のままでもsaveできるので判定処理入れたい book.rbに?

    respond_to do |format|
      if @book.save
        format.html { redirect_to @book, notice: 'Book was successfully created.' }
        format.json { render action: 'show', status: :created, location: @book }
        format.xml  { render xml: @book, status: :created, location: @book }
      else
        format.html { render action: 'new' }
        format.json { render json: @book.errors, status: :unprocessable_entity }
        format.xml  { render xml: @book.errors, status: :unprocessable_entity }
      end
    end
  end

今の実装ではデータの中身が無くてもsaveできるので(validationがないので)
たぶん後にモデルにvalidation書く事になると思いますが、controllerにコメント書いておきました。
本当は試験で書いておくのがいいんですよね。

http://localhost:3000/books/new でデータが作れることを確認したら、
git commitしておきます。

 - テクニカル

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
IBActionのIBって?

railsもやってますが、xcodeも再開しています。 ところで、 IBActi …

no image
RailsTutorial4.0を高速で復習する。6.5章。

演習1問目。 リスト6.20の、メールアドレスを小文字に変換するコードに対するテ …

no image
Everyday Rails頑張る。3章モデルスペック

テスト書いてからコードの決意。 今のような環境がない時代のプログラマでしたが、自 …

RailsTutorial4.0を高速で復習する。8章。

仕様の探求 userモデルには、登録と認証、承認に必要なモデルは既に作ってありま …

初めてのRuby2章「配列とハッシュ」

Railsだってgemの一種!ってことで、Rubyの文法からちゃんとやりたいです …

no image
WindowsのiTunesからMacのiTunesへのデータ移行

MacBookAir 2日め。なかなかMacにふみきれなかったのは、Window …

no image
RailsTutorial4.0を高速で復習する。8.2.5章。

8.2.5ユーザー登録と同時にサインインする、です。 ユーザーが登録を行った後、 …

no image
retweetボタンを追加してみました

最近いろんなブログで見かけるretweetボタン。ブログのエントリーについている …

no image
iPhone充電3回分?大容量バッテリーで残念がなくなりました

iPhoneは便利なので、一日中使いっ放しの日がよくあります。iPhoneがあれ …

no image
RailsTutorial4.0を高速で復習する。11.2.4章。

11.2.4[フォローする] ボタン (標準的な方法)、です。 仕様 それぞれの …