Ruby on Rails 3 プラグイン

carrierwaveは、ファイルアップロード用のプラグインで、attachment_fuと同じようなやつ。 インストール Gemfileに gem 'carrierwave' を追加 carrierwave用のファイルをジェネレータで作成する rails generate uploader Image 以上のコマンドを実行すると app/uploaders/image_uploader.rb ファイルが作成される モデルの作成 rails g migration Image 出来上がったマイグ ...

CentOS,WordPress

WordPressのフル機能を動かすためには 必要な機能を含んだ状態でPHPをコンパイルする必要がある たとえば、WordPressのバージョンアップには、zlib対応が必要だ。 そこで、コンパイル時のオプションを何を入れたらいいかを、書いてみる まずはPHPのダウンロード wget 解凍 tar xvfj php-5.3.6.tar.bz2 コンパイルオプション指定 ./configure \ --prefix=/usr/local/php \ --with-pic \ --with-bz2 ...

Ruby on Rails 3 Tips

ImageMagickのをソースからインストール ※/usr/localに入るので、rootで実行 ./configure make install /usr/local/libをライブラリ登録 /etc/ld.so.conf.dに ImageMagick.confファイルを作成 ファイルの中に /usr/local/lib を記入 ldconfigを実行 rmagickのインストール gem install rmagick

WordPress

WordPressの管理画面はHTTPSにしたい場合 wp-config.phpファイルの適当な位置に define('FORCE_SSL_ADMIN', true); を追加。 あとはapacheなどの設定でwp-adminやその配下のURLにアクセスするにはHTTPSで接続しないといけないような設定をするだけ。  

Ruby on Rails 3 Tips

コントローラで rescue_from を指定することで、そのコントローラで例外が発生したときなどに実行する処理を指定することが出来る。 class UserController < WomanController rescue_from Exception, :with => :catch_exception def catch_exception render :file => '/public/404.html', :status => 404 end end

AJAX

Ruby on Railsで開発していると、たいていの場合prototype.jsが組み込まれてしまう。 Rails3ではprototype.jsを使わない方法も取れるかもしれないが、まだまだprototype.jsは使う機会が多い。 そんな中で、JQueryのエフェクトやプラグインには魅力を感じてしまう。 そこで、prototype.jsとJQueryを共存させる事が出来れば問題は解決するはず。 JQueryには、コンフリクトを避けるためのメソッドがあるので、これを指定すれば ほとんどの場合、 ...

Ruby on Rails 3 Tips

Rails3の日本語化をする #config/application.rbファイルの編集 このファイルに日本語で動くことを指定する設定を追加する config.i18n.default_locale = :jp #config/localesディレクトリにjp.ymlファイルを設置 jp.ymlファイルの中身は "jp": errors: template: header: one: "1 個のエラーが発生しました" other: "{{count}} 個のエラーが発生しました" # The v ...

Ruby on Rails 3 Tips

rails3のプロジェクトを作成し、起動時に rails s -e production という感じでプロダクションモードで起動したときに、なぜかpublic配下のファイルがすべてNot Foundになってしまう。 これは、config/environments/production.rb ファイルの中の config.serve_static_assetsという設定があるのだが、これをtrueに設定してやることで、表示できるようになる。 ちなみに、サーバに配置してpassengerなどでpro ...

Ruby on Rails 3 Tips

代々、Railsでの日本語メールはパッチを当てるか処理を書かないと、普段日本で流通しているメールの形式にはならない。 ようするに、エンコーディングが違うのである。 RailsでActiveMailを使って普通に送信すると、エンコーディングをUTF-8で送信してしまう。 ThunderBirdとかGMailとかだと、その辺を勝手に解釈して正常に表示されてしまうが 日本にはいまだにエンコードがUTF-8では正しく表示されないメーラーがあったりする。 これに対応するには、エンコーディングをUTF-8で ...

MySQL,SQL

MySQLでユーザを削除する手順 権限を削除 REVOKEで、削除したいユーザの権限を削除する REVOKE構文について REVOKE priv_type ...] ON {テーブル名 | * | *.* | データベース名.*} FROM ユーザ名 参考に、guestユーザの権限を削除する実際の構文は REVOKE all on *.* from guest; ユーザを削除 DROP USER guest;

web

div#main{ width:800px; position:absolute; left:50%; margin-left:-400px; }

AJAX

prototype.jsで、ページが読み込まれた後に発動するイベントを定義する場合 Event.observe(document, "dom:loaded",function(){   alert('読み込んだ'); }); DOMツリーの構築が終わっていても描画が終わっていない場合があるので、このイベント内で$('test').style.height のようなプロパティを見ても0やnullが入っている場合がある。

AJAX

prototype.jsで、エレメントにイベントを設定する <div id="test">test</div> このタグにクリックイベントを付ける時は $('test').observe('click', function(event){   alert('testをクリック'); }); prototype.jsのイベントとして指定出来るイベント ページのイベント load ページが読み込まれた時 dom:loaded ページが読み込まれた時(イメージなどは読み込み完了 ...

Ruby on Rails メモ

Rails 3からActiveModelが追加されたが、これはどーいうものかというと、 ActiveRecordはテーブルのデータを操作するのに対して ActiveModelはテーブルの存在しないデータを操作するために使用する。 と思う。 ActiveModelの肝は大きくみて4つくらいあるらしい。 アトリビュート コールバック 変更記憶 バリデーション ほかにもいくつか楽しそうな物はあるが、とりあえず、この4つについてREADMEから情報を拾ってみたいと思います。 アトリビュートは、モデル内に ...

Ruby on Rails 3 Tips

AdminUserなんていうクラスがあるとして、 admin_user という文字列を欲しい時に "AdminUser".underscore #=> admin_user という感じで使う 逆にしたい場合は "admin_user".camelize #=> AdminUser

Ruby on Rails 3 Tips

複数形で書かれた英語表記の文字列を単数形に変換したい場合、または 単数形を複数形に変換した場合に使用する。 userという文字列がある場合 a = 'user' b = 'users' a.pluralize #=> users b.singularize #=> user となる

Ruby on Rails 3 プラグイン

ホームページ github まだタグでv3.0.0正式対応のものがないようなので、preを使う インストール Gemfileに gem 'will_paginate', '~>3.0.pre', :require => 'will_paginate' を追加して bundle install 実行 使い方 一覧表示アクションの中で、一覧取得の処理を変更 # GET /articles # GET /articles.xml def index # allではなく、paginateに変 ...

Ruby on Rails 3 プラグイン

デファクトスタンダードな、Railsのテストツール ホームページ 公式 まだタグでv3.0.0正式対応のものがないようなので、bataを使う インストール Gemfileに group :test do gem 'rspec-rails', '~>2.0.0.bata', :require => 'rspec-rails', :group => :development end を追加して bundle install 実行 rspec用タスクを生成 rails g rspec ...

Ruby on Rails 3 プラグイン

fixtureの代替となるツール ホームページ Github インストール Gemfileに group :test do gem 'factory_girl_rails' end を追加して bundle install 実行 使い方 定義 specフォルダの下にfactoriesフォルダを作成 このフォルダの中にrbファイルを作成し、そこにデータのひな形を作成する #spec/factories/users.rb  Factory.define :user do |f| f.nam ...

Ruby on Rails 3 プラグイン

DeviseはWardenに基づくRailsのフレキシブルな認証プラグインです。 特徴は Rackベース Railsエンジンに基づく完全なMVC 複数ロール(複数テーブル)が可能 モジュール方式概念に基づいている ホームページ Github インストール Gemfileに gem 'devise', :require => 'devise' を追加して bundle install 実行 使い方 deviseを使用するために必要な最低限のファイルをインストールする rails genera ...