|
|||||||||||||||||||||||||||||||||||||||||||||||||||
エッセイ試験サービス最近の投稿 |
レッスン5、6、7、8配布資料 ■プレゼン資料 レッスン5 Railsでアプリを作成(初級編) レッスン6 Railsでアプリを作成2(初級編) レッスン7 ActiveRecord1 マイグレーション、1対1、1対多関連(中級編) レッスン8 ActiveRecord2 多対多関連(中級編) ●モデルジェネレータによるUserモデルの生成 > ruby script/generate model User login_name:string password:string ●マイグレーションの実行 > rake db:migrate ●コントローラジェネレータによるUsersコントローラの生成 > ruby script/generate controller Users new create edit index show delete ●サーバの起動 ruby script/server -p 300X ●ブラウザから確認 http://yamalabo.joho.fuk.kindai.ac.jp:300X/users/new ●新規ユーザ登録フォームの作成 すきなエディタで編集する ブラウザから確認 ●Railsコンソールでモデルの生成を確認 > ruby script/console >> u=User.new #インスタンスの生成 ●createアクションの修正 ファイル名:app/controllers/users_controller.rb … ●登録結果表示用アクションとビュー ファイル名:app/controllers/users_controller.rb def show … ファイル名:app/views/users/show.html.erb <h1>ユーザ登録情報</h1> ●ユーザ名の一意性を検証 ファイル名:app/models/user.rb ●アクションとビューの修正 ファイル名:app/controllers/users_controller.rb ファイル名:app/views/users/new.html.erb ●登録ユーザ一覧 ファイル名:app/controllers/users_controller.rb <h1>登録ユーザの一覧</h1> —————————————————————- ●Railsプロジェクトの作成 > rails lesson6 ●scaffoldジェネレータによるMVCの生成 > ruby script/generate scaffold User login_name:string password:string ●マイグレーションとサーバ起動 > rake db:migrate ●ブラウザから確認 http://yamalabo.joho.fuk.kindai.ac.jp:300X/users/ ●ユーザ名の一意性検証を追加 ファイル名:app/models/user.rb class User < ActiveRecord::Base ★同じユーザ名で複数登録しようとすると、エラー表示画面がちゃんと出ることを確認する ●ビューの変更 ファイル名:app/views/users/new.html.erb ●CACANetロゴの画像ファイルをコピー > cd public/images ●レイアウトを修正してロゴを表示 ファイル名:app/views/layouts/users.html.erb <html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”> <%= yield %> </body> ●scaffold でもう一つMVCをつくる > ruby script/generate scaffold Login ●ログインフォーム ファイル名:app/views/logins/new.html.erb <% form_for(@login) do |f| %> ●アクションにおける認証処理 ファイル名:app/controllers/logins_controller.rb ●ログアウト=sessionオブジェクトの初期化 ファイル名:app/controllers/logins_controller.rb … respond_to do |format| … ●Loginsのレイアウト ファイル名:app/views/layouts/logins.html.erb <html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”> <%= yield %> </body> ●scaffoldでアンケートのMVCをつくる > ruby script/generate scaffold Answer q1:string q2:date q3:boolean ●回答ページの作成 ファイル名:app/views/answers/new.html.erb <h1>New Answer</h1> ●回答ページのレイアウト ファイル名:app/views/layouts/answers.html.erb <html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”> <p style=”color: green”><%= flash[:notice] %></p> <%= yield %> </body> ●before_filterの利用 ファイル名:app/controllers/answers_controller.rb class AnswersController < ApplicationController ——————————————————————————— ■レッスン7 ●プロジェクトの作成、User, Login, Answer のMVCの生成、マイグレーション、サーバ起動 > rails lesson7 ●ログインフォーム、認証、ログアウト、事前ログイン要求 (ログインフォーム) (認証とログアウト) ファイル名:app/controllers/logins_controller.html.erb … respond_to do |format| (事前ログイン要求) class AnswersController < ApplicationController ●レイアウト ファイル名:app/views/layouts/answer.html.erb <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ●マイグレーションジェネレータとマイグレーションの実行 > ruby script/generate migration AddUserIdToAnswers user_id:integer ●1対1関連の参照元モデルの定義 ファイル名:app/models/answer.rb ●Answer生成時にuser_idをセット ファイル名:app/views/answer/new.html.erb ●1対1関連の参照先から参照元へアクセス ファイル名:app/models/user.rb class User < ActiveRecord::Base ●Enquet のMVC生成とAnswerモデルのマイグレーション > ruby script/generate scaffold Enquet enquet_name:string ●モデルに1対多関連を定義 ファイル名:app/models/answer.rb class Answer < ActiveRecord::Base ファイル名:app/models/enquet.rb class Enquet < ActiveRecord::Base ●ログインの方法を変更 ファイル名:app/controllers/answers_controller.rb class AnswersController < ApplicationController ファイル名:app/controllers/enquets_controller.rb class EnquetsController < ApplicationController ファイル名:app/controllers/application_controller.rb class ApplicationController < ApplicationController ●ナビゲーションの変更 ファイル名:app/controllers/logins_controller.rb ●回答するアンケートの選択 ファイル名:app/views/enquets/index.html.erb <h1>Listing enquets</h1> ●回答ページ ファイル名:app/views/answers/new.html.erb <% form_for(@answer) do |f| %> … <p> ●回答一覧 ファイル名:app/views/answers/index.html.erb <table> ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ■レッスン8 ●レッスン7で作成したシステムをディレクトリごとコピーする > cd ~/rails ●QuestionのMVCの生成 > ruby script/generate scaffold Question enquet_id:integer inquiry:text mean:string choices:text ●モデルの修正 (カラムの削除) > ruby script/generate migration RemoveQ1AndQ2AndQ3FromAnswers q1:string q2:date q3:boolean (カラムの追加) > ruby script/generate migration AddQuestionIdAndValueToAnswers question_id:integer value:string ●サーバの起動 > ruby script/server -p 300X ●アンケート一覧から質問作成のリンクをつくる ファイル名:app/views/enquets/index.html.erb <h1>Listing enquets</h1> <td><%= link_to ‘Show’, enquet %></td> ●質問を作成 ファイル名:app/controllers/questions_controller.rb def new respond_to do |format| ファイル名:app/views/questions/new.html.erb <h1>New question</h1> <% form_for(@question) do |f| %> <%= f.hidden_field :enquet_id,:value => @enquet_id %> ●アンケートごとの質問一覧 ファイル名:app/controllers/questions_controller.rb def index respond_to do |format| ●質問に回答リンクをつくる ファイル名:app/views/questions/index.html.erb 内容: <h1>Listing questions</h1> ●回答ページの修正 ファイル名:app/controllers/answers_controller.rb 内容: def new ファイル名:app/views/answers/new.html.erb 内容: <p>質問: <p> ●回答表示の修正 ファイル名:app/views/answers/show.html.erb <p> <p> <%= link_to ‘Edit’, edit_answer_path(@answer) %> | ファイル名:app/views/answers/index.html.erb <table> <% @answers.each do |answer| %> <br /> <%= link_to ‘New answer’, new_answer_path %> ●has_many :throughで多対多関連を定義する 結合テーブルからbelongs_to ファイル名:app/models/answer.rb class Answer < ActiveRecord::Base ファイル名:app/models/user.rb class User < ActiveRecord::Base ファイル名:app/models/question.rb class Question < ActiveRecord::Base ●Railsコンソールで確認 > ruby script/console 11 月 14th, 2009 | Category: 未分類 | Leave a comment
レッスン3 Ruby関連システムとRailsを構成するシステム(入門編)] https://docs.google.com/present/edit?id=0AS-b16Xw3NLbZGhmcnZtbnhfMzc1Y2p0NTRmZHc&hl=ja http://docs.google.com/present/view?id=dhfrvmnx_378xbbqj7c7 レッスン3、4配布資料 <– ダウンロードはここにリンクしてあります。 ●レッスンの環境 ●irb インタラクティブなRubyインタプリタ > irb ●erb (eruby) 埋め込みRuby ファイル名:test.html.erb <h1><%=Time.now %></h1> > erb test.html.erb ●rubygems > gem list ●rake > rake db:migrate ●YAML ファイル名:test.yaml Person1: name: Shigeichiro Yamasaki age: 51 Person2: name:Katsuya Tashiro age:33 > require ‘yaml’ ●RDoc > rake doc:app ■レッスン4 > cd ~ ●モデルの生成 > ruby script/generate model User login_name:string password:string ●マイグレーションファイルの確認 > cd db/migrate > cat 20090827061630_create_users.rb def self.up t.timestamps def self.down ●Fixtureファイルの確認 > cd ../.. # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html one: two: ●マイグレーションの実行 > cd ../.. ●コントローラの生成 > ruby script/generate controller Users new delete ●サーバの起動 > ruby script/server -p 3000 ●ブラウザで確認 http://yamalabo.joho.fuk.kindai.ac.jp:300X/users/new ●ルーティングの確認 > rake routes ●ビューの修正 ファイル名: cd app/views/users/new.html.erb 内容: <h1>新規ユーザ登録</h1> ●フォームをつくる ファイル名:app/views/users/new.html.erb 内容: <h1>新規ユーザ登録</h1> ●Railsコンソール > cd ~/rails/lesson4 >> ●モデルオブジェクトの生成、属性設定、保存 >> u = User.new ●モデルの検索 >> User.find(1) ●モデルのインスタンスの削除 >> u = User.find_by_name(’yamasaki’) ●アクションの確認 ファイル名:app/controllers/users_controller.rb class UsersController < ApplicationController def create 11 月 12th, 2009 | Category: 勉強会 | Leave a comment
Ruby on RailsをWindowsにインストールする手順をまとめてみました。 インストールのためのソフトウェアのリンク(いきなりダウンロードはじめます) 11 月 11th, 2009 | Category: 勉強会 | Leave a comment
●バージョンの確認 > ruby -v #Ruby言語のバージョン ●RailsでさくっとWebアプリ作成 > rails lesson1 ●ブラウザから確認 http://xx.xx.jp:300X/users/ ーーーーーーーーーーーーーーーーーーーーーーーー ●ruby コマンドでプログラムファイルを実行 ファイル名:prog1.rb > ruby prog1.rb ●irb > irb ●プログラムファイルをirbから実行 > irb ●以下irbから入力 >> 3+6 ●オブジェクトID >> ‘aiueo’.object_id ●オブジェクトに定義されているメソッドの表示 >> “aiueo”.methods ●代入とオブジェクトID >> x=’z=12′ ●eval >> eval(x) # 12 ●定数 >> Max=100 ●コメント prog1.rb に書いてみる # コメント ●カッコ >> puts(’hello’) ●リテラル >> 123 >> :abc ●式展開 >> name = ‘山崎’ ●範囲 >> (3..100) # 3から10までの意味 ●疑似変数 >> true #真 ●メソッド定義 ファイル名:prog2.rb 内容: def kick > ruby prog2.rb ●組み込み変数 >> $! #最後に発生した例外の情報 ●組み込み定数 >> ENV ●begin 文 ファイル名:prog3.rb begin > ruby prog3.rb ●条件文 ファイル名:prog4.rb x=3 > ruby prog4.rb ●case文 ファイル名:prog5.rb w = 1250 case w > ruby prog5.rb ●ループ ファイル名:prog6.rb x=0 > ruby prog6.rb ●メソッド呼び出し > irb ●引数付きメソッド呼び出し >> “aa,bb,cc”.split(’,') ●:: によるメソッド呼び出し(本来はクラスメソッド用) ●ブロック付きメソッド >> [1,2,3].each {|x| puts x*10} >> [1,2,3].each do |x| puts x*10 end ●メソッド名の作法 >> x=”IBM” >> [1,2,3].any? {|x| x % 2==0} #真偽値を返すメソッドには? ●イテレータ >> [1,4,6].map {|x| puts x**3} ●Procオブジェクト >> lambda {|x| x**10} ●クラス >> 2.0.class #Float ●コンストラクタ ファイル名:prog7.rb class Person >> require ‘prog7.rb’ ●mix-in クラス(モジュール) >> [1,2,3].class.included_modules >> Enumerable.methods 11 月 10th, 2009 | Category: 未分類 | Leave a comment
勉強会の議事録です。 場所:システムラボラトリー株式会社 福岡本社 会議スペース メンバー:山崎、佐塚、田代、中川 主題:新システムの動作確認、ペルソナシステムの設計、開発環境の構築 新しくmasqueradeベースで作成したOPについて、ATNDでの動作確認をしたりした。 うまく動かなかったりで対策が必要なことがわかった。 また開発環境について、スムーズに開発とデプロイが出来るようにするには?を考えた。 11 月 1st, 2009 | Category: 未分類 | Leave a comment
勉強会の議事録です。 場所:AIPカフェ メンバー:山崎、田代 主題:新規で取得したSSL証明書を使って、SSL対応のOPを動かす。 Rubyでpthread関連のエラーが出てwebrickやmongrelが正常に動かなかったため、pthread対応で再コンパイル。 その後masqueradeベースで開発中のものをデプロイ。Apache(ReverseProxy)+Mongrel(cluster無し)の構成で起動。 masqueradeの変更点は以下のとおり。 ********************* config/app_config.yml ********************** default: &default development: ********************* config/app_config.yml ********************** ユーザー登録をした時に送信されるアクティベーションメールで、アクティベーション用のURLがhttpsにならない?? action_mailer/base.rbのコードを調べてみると、内部でurl_forが呼ばれているのが分かった。「url_for https」でGoogleの力を借りると、url_forで指定する引数で、いかのようなものがあることが分かった。 {:only_path => false, :protocol => 'https://', ...}
これをヒントにして、以下の変更で解決。 *********** app/models/account_mailer.rb *********** class AccountMailer < ActionMailer::Base default_url_options[:host] = APP_CONFIG['host'] *********** app/models/account_mailer.rb *********** 10 月 17th, 2009 | Category: 未分類 | Leave a comment
山崎です
RESTは、なかなか奥が深いです。でもしっかり勉強しないといけない概念と技術のようです。
次回に続きますので、ご期待ください。 今回のプレゼン資料をリンクしておきます。 今年も福岡県の星野村のキャンプ場で夏合宿をおこないました。 9 月 6th, 2009 | Category: 未分類 | Leave a comment
レッスン1 Ruby on Railsとは
http://docs.google.com/present/view?id=dcs3n9g5_2337dxv6bhcr レッスン2 Ruby言語 http://docs.google.com/present/view?id=dcs3n9g5_2376dwzjwxf4 レッスン3 Ruby関連システムとRailsを構成するシステム(入門編) http://docs.google.com/present/view?id=dcs3n9g5_2438hkj9tgch レッスン4 Railsで簡単なWebアプリを作る(入門編) http://docs.google.com/present/view?id=dcs3n9g5_2456cvdn6fxq レッスン5 Railsでアプリを作成(初級編) レッスン6 Railsでアプリを作成2(初級編) レッスン7 ActiveRecord1 マイグレーション、1対1、1対多関連(初級編) レッスン8 ActiveRecord2 多対多関連(初級編) Ruby言語によるWebアプリケーションフレームワーク 「Ruby on Rails」の講習会を以下のように行います. 入門編: Ruby on Railsの基本とRuby言語の基本とポイントが わかります. 初級編: 初心者が Ruby on Railsを使えるようになるところまで 実習形式でステップを踏んでレッスンします. 日時:8月26日〜30日 ●入門編 8月26日(水曜)19時〜21時 Lesson 1,2 8月27日(木曜)19時〜21時 Lesson 3,4 ●初級編 8月29日(土曜)13時〜17時 Lesson 5,6,7,8 8月30日(日曜)13時〜17時 Lesson 9,10,11,12 講師:山崎重一郎 (近畿大学教授/CACANet Fukuoka理事長/Rubyist九州) 主催:NPO法人 CACAnet Fukuoka (電子認証局市民ネットワーク福岡) 受講料: 入門編:3000円 初級編:7000円 この講習会は、NPO法人の収益事業として行います. 申し込み方法: アテンドシステム にログインして、参加登録をお願いします. アテンドが面倒な方は、山崎 yamasaki@cacanet.org まで メールでお申し込みください. 前提条件:演習用サーバ(Linux)を使って実習を行います. (1)Linuxの基本的ファイル操作(cd , ls , など)や エディタ操作(vim , emacs など)ができることを 前提条件にします. (2)ノートパソコンをご持参ください.Windows, Mac, Unix系、 のいずれでも結構です. (3)WindwsのノートパソコンにはsshでUNIXマシンにログイン できるターミナルソフト(poterosa , teraTerm , PuTTY) などをインストールしておいてください. 入門編 Lesson 1 Ruby on Railsとは Lesson 2 Ruby言語 Lesson 3 Ruby関連システムとRailsを構成するシステム Lesson 4 Railsで簡単なWebアプリを作る 初級編 Lesson 5 Railsでアプリを作成 Lesson 6 Railsでアプリを作成2 Lesson 7 ActiveRecord マイグレーション、1対多関連 Lesson 8 ActiveRecord 多対多関連など Lesson 9 ActionControllerの詳細 (ルーティング、画面表示、セッション管理など) Lesson 10 プライグインの利用 Lesson 11 RESTとActiveResource (WebAPIの利用/公開) Lesson 12 テストについて |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
Copyright © 2010 CACAnet Fukuoka - All Rights Reserved |
|||||||||||||||||||||||||||||||||||||||||||||||||||
