心はいつも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
Rubyの%を使う記法のうち、 %w

Rubyで%を使う記法は、たのるー(たのしいRuby)によると、以下の6通り % …

no image
あんたのrakeは新しいけど古いのが必要なんだよっ!!と怒られた

Mavericksってrubyが2.0になったんですね。 てのはおいといて、 r …

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

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

no image
iPhoneのKindleアプリでChip Conley氏の本を読んでみました。その2

iPadの発売がようやく発表されました。私個人としては読書端末としての利用を期待 …

パーフェクトRuby 2章Rubyの基礎 2-1 Hello,Ruby

12章から5章まではPart2 Ruby言語仕様 です。 2章 Rubyの基礎 …

no image
MacBookAir 1日め

ようやくMacBookAir を購入しました。Dellノートがずっと調子悪かった …

Mac miniの液晶モニターにDell U2713HM使っています。

次期モデルが出るかもしれないのにMac miniを買って、自分でメモリを16Gに …

no image
電子雑誌を買いました

GWの計画を立てているとき、行きたい場所を検索をすると、HANAKO WESTの …

BD再生のオープンソース

メディアはシリコンすら持ちたくない主義なのですが、どうしてもBluelay Di …

初めてのRuby8章 8.4特異メソッドと特異クラス

特異メソッドと特異クラス プログラムなんて、クラスの継承だけで書けてしまうのが良 …