約 2,894,454 件
https://w.atwiki.jp/kurails/pages/15.html
[Rails3.0+] プロジェクトの作成 プロジェクト作成したいディレクトリまでcdコマンドを使って移動する ※プロジェクト名には複数形とか,プログラム言語の予約語とかは使わない方がいい rails new (プロジェクト名) ※今後,下記の通り読み替えて下さい. RAILS_ROOT - プロジェクトを作ったディレクトリです.appやconfigがあるところ データベース,MVCの作成 rails g scaffold (作りたいテーブルの名前を全部小文字・単数形) (挿入したいカラムの名前と型) 例 rails g scaffold user user_name string age integer user_note text Rails3.0+では,1.2と違い,scaffoldがテーブル生成のマイグレーションファイルやMVCを全部作ってくれます. 実際にデータベースに反映する rake db migrate サーバ起動 RAILS_ROOTで, rails s http //localhost 3000にアクセス ちゃんとみれたら http //localhost 3000/(データベースの名前を全部小文字・複数形で)
https://w.atwiki.jp/alphaomega/pages/24.html
プラグイン名 # () ()パラメーター 指定のない時 {} {}パラメーター 指定のない時 現在のページ名表示 this_page ok ok base=showpage 表示しているページのページ名表示 - - 現在のページURL表示 this_url ok ok link リンクになる - - base=showpage 表示しているページのページURL表示 ページの階層のリンクを表示 topicpath ok ok top=(ページ名) 最上層ページの名前を指定 - - notop 最上層ページのリンクを非表示 現在のページ名表示 this_page ok ok base=showpage 表示しているページのページ名表示 - - 現在のページURL表示 this_url ok ok link リンクになる - - base=showpage 表示しているページのページURL表示 ページの階層のリンクを表示 topicpath ok ok top=(ページ名) 最上層ページの名前を指定 - - notop 最上層ページのリンクを非表示 上へ移動するリンク link_up ok no (内容) 表示内容デフォルトは「上へ」 - -
https://w.atwiki.jp/kurails/pages/10.html
用意するもの Ruby 1.8 Rails1.2.3 MySQL5.0.27 [Rails1.2] プロジェクトの作成 プロジェクト作成したいディレクトリまでcdコマンドを使って移動する ※プロジェクト名には複数形とか,プログラム言語の予約語とかは使わない方がいい rails (プロジェクト名) ※今後,下記の通り読み替えて下さい. RAILS_ROOT - プロジェクトを作ったディレクトリです.appやconfigがあるところ データベースの作成 RAILS_ROOT/config/database.ymlの, 「develpment 」以下の項目を参照 database XXXXXXXXX_develpment コマンドプロンプトを開いて, mysql -u (ユーザ名) -p パスワードを打ち込む mysql create database XXXXXXXXX_develpment; mysql quit モデルの作成 テーブルの名前と,カラムの名前,型を指定します. ruby script/generate model (作りたいテーブルの名前を全部小文字・単数形) (挿入したいカラムの名前と型) 例 ruby script/generate model user user_name string age integer user_note text 実際にデータベースに反映する rake db migrate Railsに入出力のインタフェース(とロジック)を作ってもらう cd (プロジェクト名) ruby script\generate scaffold (作りたいテーブルの名前を先頭大文字・単数形で) 例 ruby script\generate scaffold User RAILS_ROOT/app/controllersに [Rails1.2] (テーブル名)s_controller.rb があるか確認 RAILS_ROOTで, ruby script/server http //localhost 3000にアクセス ちゃんとみれたら http //localhost 3000/(データベースの名前を全部小文字・複数形で)
https://w.atwiki.jp/programming_note/pages/14.html
Rails3 での deployment * rvm install 1.9.2 * rvm --default use 1.9.2 * gem install rails * gem install passenger * passenger-install-apache2-module
https://w.atwiki.jp/banrui/pages/15.html
Ruby ターミナルでの実行 ruby ~~.rb rails rails3の変更点 rails3 rails3:routeまとめ rails3 ユーザー認証 Twitter認証 mail設定/Gmail連携 railsでMySQLを利用する 参考サイト railsで画像をMySQLに保存する 参考サイト (参考)Rails3 でアプリケーションを作る際に、最初にやったことをメモ(jQuery, RSpec, PostgreSQL ) renderとredirect_toの違い ./script/rails console Rails link_toメソッドで指定するパス Devise railsでクッキーとセッションまとめ ユニークインデックス
https://w.atwiki.jp/sawa2/pages/14.html
Rails Railsの習慣とかフレームワークは秀逸。 それに従うだけで自然に整理整頓されたコード群ができあがるというところがとても魅力的。 大きなアプリケーションを作るのに向いているということなのかな。 大きくなれるからTwitterのように落ちたりすると「やっぱりRailsは早熟」といわれちゃったりする。 RDocはhttp //railsapi.com/doc/rails-v2.3.8/ここのがおすすめです。 app アプリケーションとしての機能を記述する。Railsの表舞台。 controllers helpers models views config 設定ファイル群ですね。gemをロードしたり、I18n(国際化)のための定義ファイルがあったり。 db データベースに関する記述をする。テーブルは把握しやすい構造にしておきたい。ここでは、結構地味な作業が必要なんですね。 public images javascripts stylesheets script サーバー、コンソール、ジェネレーター、、、Railsアプリケーションに魂を宿すスクリプトがこの中に。 vendor 主に他の人たち(vendorってことなんじゃないかな)が作ったコード/プラグインを置いておきます。 バージョン Rails 2.3.5, Rails 2.3.6, Rails 2.3.7, Rails 2.3.8
https://w.atwiki.jp/cyrif/pages/19.html
Ruby on Rails3で学ぶ、Web開発のキホン - @IT http //www.atmarkit.co.jp/fcoding/rails/articles/rails3/01/rails301a.html いまどきのRubyとRailsの学び方 | Act as Professional - プロとしての行為 http //bit.ly/hPuHlm
https://w.atwiki.jp/eyes_33/pages/15.html
というわけで、Railsも3になったんで、そろそろ勉強するかと、「Ruby on Rails 3 アプリケーションプログラミング」を買ってきて始めてみた。 いや、結構、これいいよ。みんな買うといい! で、以下は、その本で書いてあることをやった時のメモね。 環境 これは自分の環境ね。本とはちょっと違うので、ご注意を Ruby1.9.2:これ、結構重要。1.9.2からエンコードが強制に変わってるし。 むー、ruby1.9からは、ファイルのエンコーディングを「絶対に」指定しないとNGになるらしい。 なので、ファイルの頭に「# encoding utf-8」の記述が必須。微妙! Rails3.1.0:ここも、2からだいぶ変わったらしい。 実行環境は、WindowsXP Pro SP3 以下、やってみた時のメモね! 導入と基本 Railsの基本 モデルとかDBとか DBの値取得や表示、共通定数定義とか Scaffolding(スキャフィールディング) Scaffoldingで使われるテンプレートのコピーは、以下のコマンドで!(なんだけど、できんかったw P288参照)→エラーは出てもコピーはできるっぽい rake rails templates copy Scaffoldは便利だけど、日本語化を考えると固定でのカラム名とか出ちゃって微妙なんで、Scaffoldingの日本語化とかにいろいろ書いてみたよ! データベースの準備 開発編 ビューの開発ビュー側(erb)では、以下のビューヘルパーをどう使うかが重要。 form関連のビューヘルパー その他のビューヘルパー ビューヘルパーの自作 レイアウトと部分テンプレートで、共通レイアウトとか部分テンプレートを作るのねー モデルの開発モデル(と言っても、基本はActiveRecordの話ね)は、こんな感じでイケルのか? モデルの参照系 モデルの更新系 モデルのバリデート アソシエーション:これで、複数テーブルの処理が簡単に! コールバック マイグレーション コントローラの開発要するに、Railsではコントローラって、リクエスト/レスポンスを処理するところなんだねー リクエスト レスポンス HTML以外のレスポンス セッション/クッキーなど フィルタ(Basic認証&フォーム認証あり) Applicationの共通コントローラ ログ出力 書き方は、こんな感じ logger.debug( デバッグログを出すぜ! ) logger.debug( ハッシュだとこんな感じ? + hash.inspect ) レベル変更は、コンフィグファイル(config/environments/development.rbなど)で、以下を指定 config.log_level = debug 設定ファイル「config/application.rb」で以下を設定すると、リクエストのログ上などで[FILTERED]になるらしい config.filter_parameters += [ password] ログフィルタは、正規表現とかも使える 開発ツール Eclipseベースの「Aptana Studio」がお勧めみたいだけど…。使ってないから知らんw この辺を参考に、そのうち入れてみるか…(http //freesoftdownload.1-yo.com/webmake/aptana-studio.html) 結構いいよ、Aptana!ただ、更新したら動かなくなっちまった...。とりあえず、以下のコマンドでclean起動したら動いた? cd "C \Program Files\Aptana\Aptana Studio 3" "C \Program Files\Aptana\Aptana Studio 3\AptanaStudio3.exe" -clean 解説編 ルーティング Railsの基本は、RESTful! テスト メール送信 キャッシュ機能 国際化対応 Scaffoldingの日本語化とかでやったけど、i18n_generators を使えばモデルの日本語翻訳が一発だ!すげー! Ajax開発 Railsのプラグイン Apache+Passenger 自分でもいろいろやってみた! Ruby on Rails 3 アプリケーションプログラミングの中には無いけど、いろいろやってみた時のメモも一緒に書いておこうかな Scaffold系 カラム名に、「class」とかは使えないので注意! Scaffoldingの日本語化とか モデル系 scopeでallでの全件取得時にソートを指定するには、こんな感じで scope all, order( project_no ) default_scopeでやっちゃうと、「必ず」指定されちゃうんだなー。デフォルトの解除ってできないのかな? アソシエーションのbelongs_to時にクラス名を指定するには、こんな感じ belongs_to owner_member, class_name = "Member" これだと、Memberクラスにowner_member_idで関連づけになる なんで、上記をListクラスに書くと、View側でnameを取るにはこんな感じ % @lists.each do |list| % %= list.owner_member.name % % end % devise うーん、deviseの2になったら、confirmが動かなくなっちまったよー。 でも、app/views/devise/mailer/confirmation_instructions.html.erbのlink_toをこうすれば一応、動いた。 %= link_to regist , user_confirmation_url( confirmation_token = @resource.confirmation_token) % 要するに、この場合はモデルuser用にurlが生成されてるっぽいのと、前にあった第一パラメータの@resourceが無くなったことかな? ただ、変なのは、文字数が多い?と、メールのContent-Transfer-Encodingが変わっちゃって、URLがおかしくなるのはまいった…。 あー、そっか。URLとかがおかしくなるのは、HTMLだからなんだ!なんで、 ここ みたいに、ファイル名を*.text.erbにすれば… →あれ、駄目だw。deviseの元のHTMLファイルが使われちゃうなー。もちょっと調査要! 管理用にtypusを入れてみよう! がーん、Rails4だとだめっぽい まずは、Gemfileに以下の記述を追加 gem typus で、インストール&生成 bundle install rails generate typus 後は、普通にWebサーバを起動すれば...。 おー、http //localhost 3000/admin にアクセスすれば、管理画面として使えるね! 各テーブルが一覧で表示されて、クリックすれば全レコード表示になる、と。 で、各レコードの下に「Edit / Trash 」ってあるから、そこで変更&削除ができて、「Add New」で登録ね。 あー、ただ、IDの表示/入力はできないのかー。その辺は設定とかでなんとかなるのかな? とはいえ、簡単にメンテするだけなら、これで十分だね! あ、そのままだと管理画面が「認証なし」になっちゃうのかw ということで、Typusによる管理画面の実装を元にmigrateすれば、いいみたい rails generate typus migration rake db migrate これで、admin_usersってテーブルに管理用のユーザ情報を登録する形にできるんだね。簡単! ただ、管理者一人もいないと自動で初期管理者を登録する画面に遷移するから、スグ登録しないとまずいよ! モデルを作り直したら、typusでエラーが出るようになっちゃった。そりゃそうか。ということで、再構築するにはこんな感じ。 以下のファイルを削除 app/controllers/admin/* config/initializers/typus_* config/typus/* で、再構築 rails generate typus rails destroy typusじゃだめだったんだよなー。なんでだろ? Asset Pipelineって何じゃ? Rails3.1から入った機能で、要するにJavaScriptやCSSを圧縮して、リクエストの負荷を減らす仕組みっぽい。 ここが詳しくて、判りやすいな Asset Pipelineを理解する:http //ja.asciicasts.com/episodes/279-understanding-the-asset-pipeline Railsでネストしたモデルのformを使う fields_for, accepts_nested_attributes_for http //blog.livedoor.jp/satoyansoft/archives/65237464.html 要するに、Memberに複数のAddressが紐づいているときに、すごい便利! やり方は、こんな感じ Memberモデルに、accepts_nested_attributes_for で定義 accepts_nested_attributes_for address, allow_destroy = true で、Viewにこんな感じで書くとOK % form_for @member do |f| % email %= f.text_field email % br/ % f.fields_for address do |f2| % 都道府県 %= f2.text_fieldf prefecture % % end % % end % これ書くと、MemberのDestroy時に自動でAddressも削除されるし、すげーな! ただ、これ使うとFunctional Testで「No route matches」だ出ちゃって、動かんなー。 おや?これで、Memberのコントローラテストはイケルな?(http //stackoverflow.com/questions/11366981/functional-testing-wont-work-with-nested-params) get index, member_id = メンバーのID post new, member_id = メンバーのID, address = {アドレスの各項目} モデルでリクエストの内容を参照したい! なんかいつも忘れてしまうのでメモ モデル側(例:list.rb) attr_accessor request コントローラ側(例:lists_controller.rb) @list.request = request jQuery-UIのdatepicckerを使ってみよう! まあ、結局、これでオッケーだった。 Rails3.2でjQuery UIのdatepickerを使うときのあれこれまとめ jQuery]jQuery UI datepickerのメモ んだけど、とにかく画像の置き場でトラぶった…。 Herokuだと[assets/images/jquery-ui/images]に画像を置いたら、jquery-uiが無視された?Assetのせいかな? 仕方がないから、今回は全部[images/images]に画像を置いたら動いたけど…、本当はどーすりゃいいんだろ? RSpecで楽しいテストをやってみよう! まずは設定など Gemファイルにこれを追加 group test do gem "rspec" gem "rspec-rails" end bundle installを実行 $ rails g rspec install create .rspec create spec create spec/spec_helper.rb で、テストファイルを作成 $ rails g rspec model list create spec/models/list_spec.rb ※コントローラーはこんな感じで(複数形に注意!) $ rails g rspec controller lists create spec/controllers/lists_controller_spec.rb お次ぎはテストの書き方とか この場合は、Listクラスのallメソッドの正常系で、allがnilじゃないことを確認してるね require spec_helper describe List do describe all do context normal case do it not null do List.all.should_not be_nil end end end end この「should ==」ってば、「should eql()」とも書けるらしいけど、うーん、微妙。。。 まあ、細かいメソッドに関してはちょっと古いけど、RSpecの標準Matcher一覧表とか本家を見て確認ですな。 fixturesもあるんだね。よかったー まずは、fixturesファイルを以下に配置して $RAILS_APP/spec/fixtures/モデル名の複数形.yml こんな感じで中身を書いておいて、 list1 id 1 要素名 内容 list2 id 2 要素名 内容 後は、テスト時にこんな感じで呼び出すと、 fixtures フィクスチャファイルの名前のシンボル もしくは fixtures all テストの中でこんな感じで使えるよー。 lists( list1) ER図を作ろう へー、こんなんでER図が生成できるんだね。すごい! Rails - ER図を作成するアプリケーション erd 他の参考サイト Rails3のパッケージ管理ツール、Bundlerについて調べた Ruby on Rails 3.0 日記 ここだと、インストールからテンプレート作成、モデル&コントローラ作成から、アプリ開発までの開設あり! しかも、パッケージとしてページング(will_paginate)やユーザ認証(devise)の使い方や、ユーザ認証の日本語化なんかもあって、いいかも! Ruby on Railsの管理者画面を生成する「Typus」 rails 管理画面を簡単に作ってくれるtypusをやってみた:お、DB認証とかもあるっぽい typusのフォームでファイル参照とコンボボックス WindowsでRuby on Railsの開発環境を作るメモ ruby/rails/RailsGuidesをゆっくり和訳してみたよ/Active Record Associations ここは素晴らしいレベルで、見やすい! devise でメールアドレス以外を認証に使う macを買って、今すぐherokuでruby1.9.3 + rails3.2しよう! Redmine が ruby 1.9 に未対応なので ChiliProject を Heroku で試してみよう Devise を導入して Facebook 認証との統合をやってみる 大事なこととして、assets のコンパイルが自動でなくなるので、デプロイ時には「rake assets precompile」 を実行する。 でも、Herokuだと自動で実行されてるっぽいな。 Rails3の全体的な例外ハンドル coffee scriptのお勉強 つうか、普通にドットインストールがすばらしくてびっくりした! Railsの自動テスト(RSpecでModelのテスト編) deviseを使ったコントローラのテスト -
https://w.atwiki.jp/eyes_33/pages/63.html
Railsのプラグインは、素晴らしい! ホントにいっぱい出てるから、以下のサイトを参考にしていこう!! Ruby Toolox:https //www.ruby-toolbox.com/ 特にここの「Category」のとこにある、機能別ランキングで人気のプラグインをゲット! まあ、以下でいくつかのプラグインをご紹介ね! will_paginnate ページング用のプラグインね! インストールは、こんな感じで! gem install will_paginate -v 3.0.2 つか、最新の3.0.3は、以下のエラーが出ては入らんかった…。きっと変な文字コードでも入ってるのかな? ERROR While executing gem ... (ArgumentError) invalid byte sequence in Windows-31J あとは、Webサーバを再起動して、BookController#indexをallじゃなくて、orderとpaginateを使うように修正して、 def index @books = Book.order( published DESC ).paginate( page = params[ page], per_page = 5) end テンプレートのテーブルの下あたりにこんな感じで書けば、 %= will_paginate @books, previous_label = 前ページ , next_label = 次ページ % こんな感じのHTMLが出て、ページングできると。 div class="pagination" span class="previous_page disabled" 前ページ /span em class="current" 1 /em a rel="next" href="/books?locale=ja page=2" 2 /a a href="/books?locale=ja page=3" 3 /a a class="next_page" rel="next" href="/books?locale=ja page=2" 次ページ /a /div 見た目は、こんな感じで、前ページはリンクなしって感じだねー 前ページ 1 2 3 次ページ devise 認証用のプラグインだね! メールでの確認とか、OpenID対応とか、結構、高機能! この辺を参考に、入れればOK! Rails3 認証エンジン「devise」 Rails3でログイン認証(1) deviseインストール編 i18n_generators これは、Scaffoldの日本語化用プラグインですね。 まあ、詳細はコッチで! Typus こいつは、管理者用画面の生成用プラグインだ。まだ、使ってないけどw Ruby on Railsの管理者画面を生成する「Typus」 でも、こういうのあると、余計なこと考えなくていいから、楽だなー -
https://w.atwiki.jp/kurails/
用意するもの Ruby 1.8 Rails1.2.3 MySQL5.0.27 [Rails1.2] プロジェクトの作成 プロジェクト作成したいディレクトリまでcdコマンドを使って移動する ※プロジェクト名には複数形とか,プログラム言語の予約語とかは使わない方がいい rails (プロジェクト名) ※今後,下記の通り読み替えて下さい. RAILS_ROOT - プロジェクトを作ったディレクトリです.appやconfigがあるところ データベースの作成 RAILS_ROOT/config/database.ymlの, 「develpment 」以下の項目を参照 database XXXXXXXXX_develpment コマンドプロンプトを開いて, mysql -u (ユーザ名) -p パスワードを打ち込む mysql create database XXXXXXXXX_develpment; mysql quit モデルの作成 テーブルの名前と,カラムの名前,型を指定します. ruby script/generate model (作りたいテーブルの名前を全部小文字・単数形) (挿入したいカラムの名前と型) 例 ruby script/generate model user user_name string age integer user_note text 実際にデータベースに反映する rake db migrate Railsに入出力のインタフェース(とロジック)を作ってもらう cd (プロジェクト名) ruby script\generate scaffold (作りたいテーブルの名前を先頭大文字・単数形で) 例 ruby script\generate scaffold User RAILS_ROOT/app/controllersに [Rails1.2] (テーブル名)s_controller.rb があるか確認 RAILS_ROOTで, ruby script/server http //localhost 3000にアクセス ちゃんとみれたら http //localhost 3000/(データベースの名前を全部小文字・複数形で) [Rails3.0+] プロジェクトの作成 プロジェクト作成したいディレクトリまでcdコマンドを使って移動する ※プロジェクト名には複数形とか,プログラム言語の予約語とかは使わない方がいい rails new (プロジェクト名) ※今後,下記の通り読み替えて下さい. RAILS_ROOT - プロジェクトを作ったディレクトリです.appやconfigがあるところ データベース,MVCの作成 rails g scaffold (作りたいテーブルの名前を全部小文字・単数形) (挿入したいカラムの名前と型) 例 rails g scaffold user user_name string age integer user_note text Rails3.0+では,1.2と違い,scaffoldがテーブル生成のマイグレーションファイルやMVCを全部作ってくれます. 実際にデータベースに反映する rake db migrate サーバ起動 RAILS_ROOTで, rails s http //localhost 3000にアクセス ちゃんとみれたら http //localhost 3000/(データベースの名前を全部小文字・複数形で)