スキップしてメイン コンテンツに移動

投稿

ラベル(CheckListApp)が付いた投稿を表示しています

CheckListApp#7 ヘッダーフッターを少し整える

ヘッダーに、チェック項目の一覧に行くリンクを追加したいと思います。毎回アドレスを指定するのは非効率だと思うので。 ヘッダーにチェック項目一覧を用意しようと思います。テンプレートファイル(app/views/layouts/application.html.erb)を編集します。 <body> <head> <h3>Self Check Lists</h3> <%=link_to "checks", checks_path %> </head> <%= yield %> <footer> <p><small>et79&copy;2014</small></p> </footer> </body> ついでにコピーライトのフッダーも追加してみました。 いずれ、 Bootstrap を使って飾るつもりなので、貧相なのは勘弁して頂きたいです。

CheckListApp#6 チェック項目の作成フォーム

チェック項目の追加フォームを作ります。やっとだ。作るのは、 new メソッドと create 。 new で作ったデータを元に create でセーブするイメージでしょうか。 まずは、チェック項目の一覧(app/views/checks/index.html.erb)にnewメソッドへのリンクを貼ります。 <h1> Checks <%= link_to image_tag('icon_plus_alt2.png',size: '25x25'), new_check_path %> </h1> タイトルの横に+ボタンを配置してみました。 次は、コントローラ /app/controllers/checks_controller.rb に new メソッドを作っていきます。 def new @check = Check.new end ここはこれだけ。で、呼び出されるビュー app/views/checks/new.html.erb を作っていきます。ここでは、チェック項目の内容を登録するフォームを作ります。 <h1>Create Check Item</h1> <%= form_for @check do |c| %> <p> <%=c.label :title %> <%=c.text_field :title %> </p> <p> <%=c.label :contents %> <%=c.text_area :contents %> </p> <p> <%= c.submit %> </p> <% end %> で、最後に create メソッドの作成。 def create @check = Check.new(check_params) @check.save redirect_to checks_pat...

CheckListApp#5 チェックデータ作成/詳細表示

チェックデータの作成 / rails console DBにチェックデータをダミーで登録してみます。アプリを作ってもデータが入ってないと確認ができません。 rails console を使います。 $ rails console > c = Check.new( title: "testTitle", contents: "Test contents." ) > c.save これでチェック項目が出来ました!簡単。ウェブを立ち上げ直すと、項目が追加できている事が確認できます。 詳細表示部 チェック項目の詳細を表示します。まずは、一覧(views/checks/index.html.erb)の項目に詳細へのリンクを貼ります。 <h1>Checks</h1> <ul> <% @checks.each do |check| %> <li><%= link_to check.title, check_path(check.id) %></li> <% end %> </ul> で、check_path を表示させるに show メソッドを作ります。 rake routes をすると何を作れば良いのかがわかります。 Prefix Verb URI Pattern Controller#Action checks GET /checks(.:format) checks#index POST /checks(.:format) checks#create new_check GET /checks/new(.:format) checks#new edit_check GET /checks/:id/edit(.:format) checks#edit check GET /checks/:id(.:format) checks#show PATCH /checks/:id(.:format...

CheckListApp#4 チェック項目のコントローラ/一覧の作成

Checks コントローラの作成 チェック項目のコントローラを作ります。 $ rails g controller Checks<br /> Checkモデルを作ったら、コントローラーは複数形のChecksで作るんですね。。 で、次はルーティングの作成。 config/routes.rb を開き、以下を追記 resources :checks rake routes で、結果を確認します。いろいろ出来ました。 チェック項目の一覧を作成 チェックの一覧を作ります。コントローラ(app/controllers/checks_controller.rb)に、indexメソッドを追加します。 def index @checks = Check.all end これで、変数checksで、すべてのチェック項目にアクセスできる様になります。 次は、viewを作ります。作成したメソッド名(index)に合わせて、app/views/checks/ 以下に index.html.erbを作成します。 コントローラで作成した Checks にeachで順次アクセスし、チェックタイトルのリストを表示します。 <h1>Checks</h1> <ul> <% @checks.each do |check| %> <li><%= check.title %></li> <% end %> </ul> これだけで、’localhost:3000/checks’ で一覧にアクセスできるようになりました。素晴らしいー。今は、項目がないので、全くおもしろくないですけど・・・。なので、次は、データの中身を作って見たいと思います。少しずつ、楽しくなって来た。まだ、 ドットインストール をなぞってるだけですけど・・・。 参考 Ruby on Rails 4入門

CheckListApp#3 チェックオブジェクト作成

チェック項目モデルを作ります。属性は、 タイトル(文字列) コンテンツ(長い文字列) かなり寂しいけど、まずはこれで。 ホントは、登録ユーザとか、リンクとか、いろいろやりたいけど、まずはこれで。目標は、早く形をつくる事。形ができたら、肉付けをしていきます。でも、ユーザー関連までは、やらないと、リリースできないな。。 $ rails g model Check title contents $ rake db:migrate 属性の型を指定しないと、string型になるらしいです。勢い余って、contentsもstring型にしてしまった。。text型に変えなくては、と思ったら、簡単には変えられないんですね・・。C言語のクラスとは違うんだな。。残念。 ちゃんとやる場合は、別の属性を用意して、入れ替えるみたいだけど、今はまっさらから作っているところなので、まずはモデルを消しちゃいます。 $ rails destory model Check ファイル(app/models, db)を見た感じ、消えてる風なので、これで行ってみます。ダメだったら、やり直そう。2回目は1回目よりずっと早く進むから、きっと大丈夫。この事に気がついてから、いろんな事に対して心が楽になったきがします。 さて、やり直します。 $ rails g model Check title contents:text $ rake db:migrate 残念、ダメだ・・・。何だ、すでにテーブルができてるって言われる。 くそー。全てをイチから作り直した方が早そうだけど、、もう少し粘ってみます。destory した後に、一旦 db:migrate をかけてみよう。 $ rails destory model Check $ rake db:migrate $ rails g model Check title contents:text $ rake db:migrate ダメだな。調べてみよう。。 [数分後] 分かりました。 rake db:migrate:reset でいいんだ。 $ rake db:migrate:reset ふぅ。とりあえず、うまく行きました。 今は、まっさらな状態だからいいけど、一回作っちゃうと、面倒なんです...

CheckListApp#2 アプリケーションの新規作成

まずは、アプリケーションの作成から。 rails new checkListApp とりあえず、立ち上げてみます。 cd checkListApp rails s エラーが出ました。Gemfile の therubycaser を使える様にしないと。 vi Gemfile gem 'therubyracer', platforms: :ruby ↑コメントを外す。で、bundle install実行。 bundle install これでうまくいくはず。 rails s よし。うまく行きました。まずは、ここからですよね。次は、チェックオブジェクトを作ります。

CheckListApp#1 設計図

Ruby on Rails の勉強の為に、チェックシートのWebアプリを作ってみます。はじめての制作なので、一部始終をメモにとってみたいと思います。 作りながらなので、ちょいちょい内容編集するかもしれません。すみません。 作りたいモノ 紙やエクセルのチェックリストシートを自分様にコピーして使うイメージ チェック項目は、 全チェックリスト共有のモノを用意 カテゴリータグがつけられる ユーザは、 チェックリストプロジェクトが作れる 共通チェック項目と、結果(実施チェック、コメント)を書くフィールドがあるチェックリストが現れる 自分で作成したチェックリストの一覧を見ることができる 手書きのイメージ こんなイメージを何枚か書くところから、始めました。 モデル チェック項目 共通チェック項目を持つ チェック結果 プロジェクトで生成され、チェック項目と紐付き、チェック項目に対する各プロジェクトでの状況(実行済み/コメント)を保持する プロジェクト チェック項目/チェック結果の一覧を作製、表示する ユーザ プロジェクトを作製する 開発環境 OS:vagrantのCentOS rails:4.0.2 ruby:2.1.0dev 上手く書けていませんが、こんな感じのものを作ってみようとおもいます。力尽きませんように。。 作ろうと思った背景 今の業務で、エクセルによるセルフチェクを行っていますが、このチェックリストはドンドン肥大化する傾向にあります。ただし、実際には関係の無い項目も多数あるので、カテゴリ分けを上手くやったら手数が省けるのでは?と考えました。でも実際やってみると、エクセルでカテゴリをつけると、1チェック1カテゴリに成ってしまい、あまりスマートに行きません。そこで、タグ付が上手く行く予感がしたので、勉強したいと思っていたWebアプリでトライしてみることにしました。

Amazon Affiliate