Ruby on Rails

CarrierWaveを利用した画像ファイルのアップロード(4)

こんにちは。beaglesoftの真鍋です。 前回まででCarrierWaveを利用したファイルのアップロードが簡単に行えることを確認しました。今回は、アップロード先をAmazonS3に変更して保存できることを確認したいと思います。 前提条件 今回はAmazonS3を利用します…

CarrierWaveを利用した画像ファイルのアップロード(3)

こんにちは。beaglesoftの真鍋です。 前回はcarrierwaveuploader/carrierwave: Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworksの設定をいろいろと行いました。今回は、日本語ファイルの扱いやファイル容量の制限など…

CarrierWaveを利用した画像ファイルのアップロード(2)

こんにちは。beaglesoftの真鍋です。 前回はcarrierwaveuploader/carrierwave: Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworksを利用してファイルのアップロードが行えることを確認しました。とりあえずファイルのア…

ActiveRecordに該当する列が存在するか確認する方法

AvtiveRecordでパスワードなどを暗号化したりする際コールバックを利用するのですが、存在しない列を読みに行こうとしてエラーになることがありました。とりあえず、対応方法を検討しました。 まず、ActiveRecordの中で列情報はAttributesに保存されています…

今更ながらWEB+DB PRESS vol.61 を購入しました

Rails3に関連する情報はほとんどがWebを中心に展開されているように思うのですが、体系的に情報が欲しいときは書籍(紙・電子問わない)の方が助かります。今年になってようやくRSpecを取り入れるようになったのですが、これまでその主たる情報源はWEBまたはRa…

ActiveMailerでSegmentation fault

ActiveMailerでメールを送信しようとしたところ、エラーが出て困りました(ノД`) 接続先はGmailで設定は次の通りでした。 [sourcecode language="bash"] config.action_mailer.delivery_method = :smtp config.action_mailer.raise_delivery_errors = true co…

RailsによるアジャイルWebアプリケーション開発第4版

昨年の12月頃に発売された書籍ですが、ようやく購入しました。 私はRailsをRuby on Rails 3 アプリケーションプログラミングで学んだのですが、今作っているアプリケーション開発の開発手法的なものがぶれてしまうのがいやだなぁと思ったため購入を見合わせ…

Bundlerやらgemやら

Rubyで開発をしだしてから半年弱が過ぎるわけですが、学べば学ぶほど奥深い世界が見えてきます。たぶんどの言語でもそうだと思いますが、最初はおまじないを唱えつつ進めていきますよね。そして、言語の基本的な事柄を理解してくるとその周辺のことが見えて…

JenkinsでRSpecを実行できない(解決!)

今回作成するプロジェクトからRSpecを使用してBDDを行おうと思い、Railsプロジェクトを作成しました。また、データベースもこれまではSQLite3を使用していたのですが、Postgres9.0を使用することに。 Postgresについてはまた別途記述しますが、JenninsでRSpe…

Functionalテストでリクエストヘッダの情報を取得する

Functionalテストでリクエストヘッダを操作するメモ。 [sourcecode language="ruby"] テストメソッド側(xhrメソッドでもOK) xml_http_request :get, :index … コントローラー側はrequest.headersで取得する(xhrメソッドでもOK) is_xml = request.xml_http_re…

RailsのAPIリファレンス

JSONデータを処理するときにいろいろ調べましたが、RubyのAPIなのかRailsのAPIなのかわからないことがしばしばありました。RubyのAPIリファレンスはこれまでも見てきたのですが、そろそろ書籍だけではなくRailsのAPIリファレンスを参考にできそうになってき…

JavaScriptでJSON形式のデータを使用する

Railsで生成するViewの中に作成したJavaScriptでJSONデータを処理する事に結構はまりました。理解してみると何とも単純なことではまっていたと言うことがわかるのですが、初めてのことなのでずいぶん時間がかかりました。 そもそも事の発端は、JavaScriptで…

Jenkinsでカバレッジを表示する

Simple_covを利用してカバレッジを測定する場合、Jenkinsではそのまま表示することはできませんでした。詳しくはこちらのサイトに記述がありましたが、下記の手順でJenkinsにカバレッジ結果を表示することができるようになりました。 Jenkins, Rails, Code C…

SimpleCovによるカバレッジ測定

.NETでUnitTestを書いたときにはdotCoverというカバレッジツールを使用してカバレッジを測定していました。NCoverやらその他のツールもあったのですが、JetBrainsのツールの手軽さとResharperのUnitTestRunnerとのコンボが便利でこちらを使用していました。 …

CentOS5.6へRuby on Rails3をインストール(3)

では目的のRials3.0.5をインストールします。 1.gemのバージョンを確認する。 [sourcecode language="bash"] gem -v 1.3.7 [/sourcecode] 2.Ruby on Railsをgemを利用してインストールする。 今回はRuby on Railsのバージョンを3.0.5としたいためオプション…

RubyMineでも困ることがある…

RubyMineはとてもよくできたツールです。心からそう思います。コンソールで日本語が文字化けする以外は…。苦手な英語でメッセージはきますか(ーー;)

JavaScriptの開発環境

JavaScriptの開発を行うための環境はやはりエディタとブラウザ&ブラウザのアドオンなのでしょうかね?私はRubyMineを使用しているのでこの環境がお気に入りなのですが、どのような開発環境を利用しているのかはとても興味深い。 個人的にはRubyMineを使用…

RailsでSQLのLike検索を行う

Ruby on Rails3でSQLのLike検索を行う場合、いろいろと参考になるサイトがあります。けれども、複数の列でLike検索を行いたい場合については見つかりませんでした。まぁそんな事はしないという話かもしれませんが…。プラグインも見つけられなかったので試し…

ハッシュ値の生成で改行をセットするとエラーになる

秋というのはメランコリックになるのでしょうか。ってそんな がら でもないのですが、少し残念なことがあって心理的に弱っています。 (意外とナイーブな自分が笑えてきますw) ともかく、弱っているときはコードを書くことにつきますね。JavaScriptのお勉強…

RailsのFunctionalテスト

Functionalテストの時に少しわかりにくかったところをメモするよ。 1.assert_response はHTTPステータスの確認を行うので、正常終了が基本。 最初はよくわからなかったのですが、assert_responseでチェックする対象というのはHTTPステータスなんですね。な…

RailsでModelやController以外からloggerを使用する

共通処理をモジュールなどにまとめる場合、そのモジュールないの logger.debug ... と普通に記述していることが多いと思います。ところが、このモジュールをテストしようとするとエラーになります。 [sourcecode language="bash"] NameError: undefined loca…

Railsで enabled = false なタグを出力する方法

Railsで enabled = false なタグを出力する方法をいつも忘れてしまうのでメモ。 [sourcecode language="ruby"] <p> <b>削除状態:</b> <%= check_box_tag :del_flg.to_s, @user_info.del_flg, @user_info.del_flg == 1, :disabled => true %> </p> [/sourcecode] これでこ…

Railsで共通モジュールなどはlibフォルダへ

Railsで共通モジュールなどをMix-inするケースは結構あると思いますが、これらをどこに保存すればいいのかいまいちわからず困っていました。もちろん、チェックロジックなどモデルに依存するものはモデルに書けばいいわけですが、モデルに依存するチェックロ…

joins句で取得するデータは配列になっている

当たり前のことですが、かなりはまったのでメモしておきます。 下記のようなuser_infoオブジェクトにデータベースからデータを取得したいとします。その際に、属性のような情報を別テーブルから結合して取得します。そのために、joins句を使用してテーブルを…

RailsのセッションはCookie保存

Sessionと聞いて安全・安心と思っていた私にとっては軽く驚愕の事実です。RailsのセッションはデフォルトでCookieに情報を保存するそうです。つまり、ユーザーが閲覧することが可能な状態と言うことになります…。ASP.NETでいうと(意味合いは異なりますが)V…

Railsでログイン処理の実装

ログイン処理を行う場合、すべての画面でログイン状態かどうかを判定してログイン状態出ない場合はログイン画面へ遷移するという処理が必要になります。すべての画面に対応するコントローラでそのような処理を行う場合、たいていのフレームワークではアプリ…

パスワードをハッシュ化するとチェックができない…

新規作成、更新、削除などの処理を行う場合にその処理の前後や検証処理の前後で処理を行うことができる機能がRailsにはあります。コールバックと言われる機能ですが、イメージとしてはデータベースのトリガーに似ています。 今回はパスワードからハッシュ値…

クエリメソッドの条件句でBetween句を生成する

Between句を生成する場合は、対象となる列に範囲式を設定することで対応できる!これってとても素敵だなぁ。 [sourcecode language="ruby"] if params != nil … shiharaibi_from = get_date('shiharaibi_from') shiharaibi_to = get_date('shiharaibi_to') c…

Railsでアプリケーションを作るときに躓いていることをメモするよ。

Railsで検索条件などを作成する場合に躓いたところをメモするよ。へっぽこプログラマなのでつまらないことで躓いている点には生暖かい目で見ていただけるとうれしいです。 1.モデルにひも付かない form_tag を使用する。 2.form_tagではオブションのデフォ…

HTMLを書くのは久しぶり

久しぶりにHTMLを書いています。昔、ASP.NET2が出た頃にCSSでボックスレイアウトなウェブサイトを作って以来です。あの頃から感じていたのですが、ウェブサイトの設計書を作成するツールってあんまりないですね。 以前ウェブサイトを作成したときに、自分が…

ちょっと本屋へ行って買ってきた本

ついに買ってしまいましたよ数学ガール 乱択アルゴリズム !ほんとは買う予定じゃなかったけど、どうしても読みたくなっちったぜ。 これまでのシリーズもすべて読んだのですが、はい、さっぱり内容は理解していません。けれども、何というか数学の輪郭に触れ…

削除処理が行われない…

昨夜は飲み会があって深夜に帰宅したのですが、朝からいろいろとタスクを片付けて貴重な時間をRubyに…。ところが、トラブルではまりました。 Ruby on Railsでscaffoldにより生成したViewのうち、"index.html.erb"ファイルは作成したモデルの情報を一覧表示す…

findメソッドとwhereメソッド

Ruby on Rails でscaffoldingを使用すると、様々なデータ取得メソッドが生成される。具体的には "find"メソッドのように主キーで一意なデータを取得したりするようなメソッドが生成される。 ただ、主キーとそれ以外の列を用いてデータを取得したい場合、具体…

アプリケーションの国際化対応についてのメモ(一部)

Ruby on Railsほど国際化対応が重要なものもないんでないかしら?.NETにいた頃はこんなことはほとんど考えたこともなかったけど、デフォルト英語なので日本語に置き換えるための設定はとても重要なのです。ということで、理解したところから簡単にメモを残し…

RubyMineのUnitテストのテスト名には日本語が使用できない

RubyMineでRuby on RailsのUnitテスト書いてみたのですが、テスト名には日本語を使用できないようです。 日本語のテストメソッドを含む場合 日本語名のテストメソッドを含まない場合 この通り、日本語のメソッドを含む場合はテストが実行されません。という…

Ruby on RailsのUnitテストってすばらしい!

Ruby on RailsのUnitテスト環境がすばらしいです。どうすばらしいかというと、テストはデフォルトでトランザクション処理されているので投入したデータは自分でロールバックしたり削除したりする必要はないです。 .NETでUnitテストを書いていたときに一番大…

Ruby on Rails3アプリケーションプログラミングを読み終えました!

先月から読んでいた Ruby on Rails 3 アプリケーションプログラミング を読み終えました。内容としてはRuby on Railsの概要からフレームワークの仕組みの概要説明があり、その後View-Model-Controllerの順で詳細な説明があります。 また、RestfulシステムやU…