Ruby on Rails 4, Ruby on Rails メモ, ubuntu

必要なパッケージをインストールする たぶん、このインストールだけで済むはず。 入れている物は、 libqtwebkit-dev qtwebkitの開発用モジュール Qtはデスクトップと組込み開発向けのクロスプラットフォームアプリケーション開発フレームワーク らしい xvfb 仮想フレームバッファ ttf-kochi-mincho-naga10 ttf-kochi-gothic-naga10 日本語フォント 済まなかったら以下を追加 Gemfileにgem追加 bundle実行 インストール完了 ...

Eclipse, git, Ruby on Rails メモ

Aptana Studio 3でEGitを入れているのに Aptana Studio 3でインストールされるPortableGitが優先されてしまう問題 ですが Preferencesの設定の中にある - という所が二つあると思います。 これは、Aptana Studio 3が内包しているPortable Gitの設定と、EGitの設定が両方出てきているという事です。 で、EGitの方を優先で使いたい場合ですが - のサブオプションがある方がEGitで、サブオプションがない方がPortableG ...

Ruby on Rails メモ

Ruby on Railsで数値を整形する場合、ActionViewには便利なヘルパーがあります。 number_with_delimiter です。 number_with_delimiter(12345678) # => 12,345,678 number_with_delimiter("123456") # => 123,456 number_with_delimiter(12345678.05) # => 12,345,678.05 number_w ...

Ruby, Ruby on Rails メモ

Rubyで「&」などの文字参照をデコードするには CGI.unescapeHTML('test&リリース') とすると test&リリース という感じで変換してくれる。

Ruby on Rails メモ

セッションIDを得るには とする。

Ruby, Ruby on Rails メモ

remote_tableはリモート(またはローカル)にあるExcel、CSVファイルなどを読み込んでシステムで扱えるようにするRubyライブラリです。 rubygemsでインストールします。  

Ruby on Rails メモ

Controller内でHelperに定義したメソッドを使うには ApplicationController.helpers.my_method(text) という感じで書けば使用できる

Ruby on Rails メモ

rspecでUserAgentのテストをする場合の、テストデータの設定 request.stub!(:user_agent).and_return('FeedBurner/1.0') get 'search' とする

Ruby on Rails 3 Tips, Ruby on Rails メモ

バッチ処理として書いたrbファイルをテストする場合 テストケース内で system("ruby バッチファイル") としても良いが たとえばTimecopで日付を固定してテストする場合には具合が良くない。 バッチのプロセスが別プロセスで動くため、Timecopの設定がバッチに反映されない。 なので systemで呼び出している部分を load "バッチファイル" というように、loadに変えると、そのバッチ処理が都度ロードされるので テストを実行しているプ ...

Ruby on Rails メモ

RailsのActiveRecordは、updated_atとcreated_atカラムがある場合、created_atには新規作成時、updated_atは新規と更新時に自動で日付が設定されます。 普段はこの動きで便利なんですが テストをする時などにupdated_atを操作したりしたい。 そんなときは以下のように書けばupdated_atに自動で日付が設定されるのを防ぐ事が出来る。

Ruby on Rails メモ, web

Railsでsend_fileというメソッドがある これは、ファイルなどをそのまま返す場合に使ったりするが これを使うとRailsのメモリ使用量が増加していく。 2.1でこの現象が出るが 2.3とかもかも? なんかメモリを解放してないっぽい感じですが、これに関しては、ほかの方が調べてたりするので深く調べないことにする。 で、解決方法は、x_sendfileを使うのがスマートな気がするので、これを採用する。 導入手順 apacheにmod_xsendfileを組み込む apacheの設定ファイルを ...

Ruby on Rails 3 Tips, Ruby on Rails メモ

Railsで日付処理は、意外と簡単に出来たりする。 1日前 1日後 1ヶ月前 1ヶ月後 1年前 1年後 また、本日の開始日時として、たとえば 2011-10-01 00:00:00 という情報を取りたい場合 逆に 2011-10-01 23:59:59 という情報を取りたい場合 月初を得る 月末を得る

Ruby on Rails メモ

redmineにはwikiがついてます。 基本Textile形式で記述する物なので 表を作るときは という感じで書きます。 が、たとえば趣味が複数あって、途中で改行させたいといった場合に、<br/>タグとかが使えません。 これは、redmineが採用しているライブラリ「redcloth3」の中でbrを許可しないようになっているからです。 どうしても表の中で改行を使いたい場合、この「redcloth3」ライブラリを変更する必要があります。 redmineのlibの中に「redcloth ...

Ruby on Rails メモ

モジュールがインクルードされているか 隠したいパラメータがフィルターされているか Before filters レスポンスコード authenticity_tokenのチェックをスタブでtrueにする Filtered parameters

Ruby on Rails メモ

usersテーブル hobbysテーブル があり、 usersテーブルの方に has_many :hobbys hobbysテーブルの方に belongs_to :user が指定されているときに user.hobbys.collect{|c| c.id} とすれば、hobbysのID一覧が得られる が、 user.hobby_ids とすれば、idの一覧を簡単に得られる

Ruby on Rails メモ

このワーニング 「warning: peer certificate won’t be verified in this SSL session」 は、Net::HTTPライブラリを使用してSSLなページを取得したときに出力される これを止めるには Net::HTTPを使用するときに「verify_mode」を設定する とする 「verify_mode」を設定するときは、「use_ssl」は必須

Ruby on Rails メモ

Ruby on Railsの本番実行環境として定着したpassengerです。 では、インストールをしてみます。 まず、passengerをインストールするために必要なモジュール Ruby 基本中の基本 rubygems gemでインストールするので、こちらも基本 あとは、以下のライブラリ群が必要になります。 GNU C++ compiler Curl development headers with SSL support OpenSSL development headers Zlib de ...

Ruby on Rails 3 Tips, Ruby on Rails メモ

Railsで… ホスト名(gendosu.jpという感じ)を得る ホスト名:ポート番号(gendosu.jp:80という感じ)を得る

Ruby on Rails 3 Tips, Ruby on Rails メモ

Rails 2.*系のプロジェクトで、rakeコマンドをたたくと、 というエラーが発生することがある。 このエラーは rake のバージョンが新しすぎるのが原因。 基本的にRails3.0.5より前のRailsでは、rakeのバージョンは0.8.7を使う。 新しいrakeが入っている場合 と実行すればよい

Ruby on Rails メモ

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