心はいつも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
accepts_nested_attributes_for

everydayRailsやっていて、 phoneモデルのテストのところで ac …

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

第11章ユーザーをフォローする、です。ようやく最終章。1週間でできるつもりが3週 …

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

5.1.2BootstrapとカスタムCSS、です。 今までdivについていたイ …

パーフェクトRuby 2章Rubyの基礎 2-5-5 クラスメソッド

p54 2-5-5 クラスメソッド インスタンスメソッドに対して、クラスに対して …

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

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

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

9.2.3フレンドリーフォワーディング、です。 ログオンしていないユーザーが編集 …

no image
ヘルパーメソッドを自作する

便利なrailsのヘルパーメソッド。自分でも作れます。 作るときは、 アプリのd …

no image
いまだにユビキタスなSONYとクラウドに向かうApple

PS3のトルネが良さそう@ヤマダ電機。PS3本体とチューナーの2台になってスッキ …

railsでtest unitを生成させない

ruby on rails3プリケーションプログラミングの本の内容をruby2. …

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

10.3.2マイクロポストを作成する、です。 テストを書く micropostの …