Ruby on Rails
こんにちは。beaglesoftの真鍋です。 前回まででCarrierWaveを利用したファイルのアップロードが簡単に行えることを確認しました。今回は、アップロード先をAmazonS3に変更して保存できることを確認したいと思います。 前提条件 今回はAmazonS3を利用します…
こんにちは。beaglesoftの真鍋です。 前回はcarrierwaveuploader/carrierwave: Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworksの設定をいろいろと行いました。今回は、日本語ファイルの扱いやファイル容量の制限など…
こんにちは。beaglesoftの真鍋です。 前回はcarrierwaveuploader/carrierwave: Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworksを利用してファイルのアップロードが行えることを確認しました。とりあえずファイルのア…
AvtiveRecordでパスワードなどを暗号化したりする際コールバックを利用するのですが、存在しない列を読みに行こうとしてエラーになることがありました。とりあえず、対応方法を検討しました。 まず、ActiveRecordの中で列情報はAttributesに保存されています…
Rails3に関連する情報はほとんどがWebを中心に展開されているように思うのですが、体系的に情報が欲しいときは書籍(紙・電子問わない)の方が助かります。今年になってようやくRSpecを取り入れるようになったのですが、これまでその主たる情報源はWEBまたはRa…
ActiveMailerでメールを送信しようとしたところ、エラーが出て困りました(ノД`) 接続先はGmailで設定は次の通りでした。 [sourcecode language="bash"] config.action_mailer.delivery_method = :smtp config.action_mailer.raise_delivery_errors = true co…
昨年の12月頃に発売された書籍ですが、ようやく購入しました。 私はRailsをRuby on Rails 3 アプリケーションプログラミングで学んだのですが、今作っているアプリケーション開発の開発手法的なものがぶれてしまうのがいやだなぁと思ったため購入を見合わせ…
Rubyで開発をしだしてから半年弱が過ぎるわけですが、学べば学ぶほど奥深い世界が見えてきます。たぶんどの言語でもそうだと思いますが、最初はおまじないを唱えつつ進めていきますよね。そして、言語の基本的な事柄を理解してくるとその周辺のことが見えて…
今回作成するプロジェクトからRSpecを使用してBDDを行おうと思い、Railsプロジェクトを作成しました。また、データベースもこれまではSQLite3を使用していたのですが、Postgres9.0を使用することに。 Postgresについてはまた別途記述しますが、JenninsでRSpe…
Functionalテストでリクエストヘッダを操作するメモ。 [sourcecode language="ruby"] テストメソッド側(xhrメソッドでもOK) xml_http_request :get, :index … コントローラー側はrequest.headersで取得する(xhrメソッドでもOK) is_xml = request.xml_http_re…
JSONデータを処理するときにいろいろ調べましたが、RubyのAPIなのかRailsのAPIなのかわからないことがしばしばありました。RubyのAPIリファレンスはこれまでも見てきたのですが、そろそろ書籍だけではなくRailsのAPIリファレンスを参考にできそうになってき…
Railsで生成するViewの中に作成したJavaScriptでJSONデータを処理する事に結構はまりました。理解してみると何とも単純なことではまっていたと言うことがわかるのですが、初めてのことなのでずいぶん時間がかかりました。 そもそも事の発端は、JavaScriptで…
Simple_covを利用してカバレッジを測定する場合、Jenkinsではそのまま表示することはできませんでした。詳しくはこちらのサイトに記述がありましたが、下記の手順でJenkinsにカバレッジ結果を表示することができるようになりました。 Jenkins, Rails, Code C…
.NETでUnitTestを書いたときにはdotCoverというカバレッジツールを使用してカバレッジを測定していました。NCoverやらその他のツールもあったのですが、JetBrainsのツールの手軽さとResharperのUnitTestRunnerとのコンボが便利でこちらを使用していました。 …
では目的の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はとてもよくできたツールです。心からそう思います。コンソールで日本語が文字化けする以外は…。苦手な英語でメッセージはきますか(ーー;)
JavaScriptの開発を行うための環境はやはりエディタとブラウザ&ブラウザのアドオンなのでしょうかね?私はRubyMineを使用しているのでこの環境がお気に入りなのですが、どのような開発環境を利用しているのかはとても興味深い。 個人的にはRubyMineを使用…
Ruby on Rails3でSQLのLike検索を行う場合、いろいろと参考になるサイトがあります。けれども、複数の列でLike検索を行いたい場合については見つかりませんでした。まぁそんな事はしないという話かもしれませんが…。プラグインも見つけられなかったので試し…
秋というのはメランコリックになるのでしょうか。ってそんな がら でもないのですが、少し残念なことがあって心理的に弱っています。 (意外とナイーブな自分が笑えてきますw) ともかく、弱っているときはコードを書くことにつきますね。JavaScriptのお勉強…
Functionalテストの時に少しわかりにくかったところをメモするよ。 1.assert_response はHTTPステータスの確認を行うので、正常終了が基本。 最初はよくわからなかったのですが、assert_responseでチェックする対象というのはHTTPステータスなんですね。な…
共通処理をモジュールなどにまとめる場合、そのモジュールないの logger.debug ... と普通に記述していることが多いと思います。ところが、このモジュールをテストしようとするとエラーになります。 [sourcecode language="bash"] NameError: undefined loca…
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で共通モジュールなどをMix-inするケースは結構あると思いますが、これらをどこに保存すればいいのかいまいちわからず困っていました。もちろん、チェックロジックなどモデルに依存するものはモデルに書けばいいわけですが、モデルに依存するチェックロ…
当たり前のことですが、かなりはまったのでメモしておきます。 下記のようなuser_infoオブジェクトにデータベースからデータを取得したいとします。その際に、属性のような情報を別テーブルから結合して取得します。そのために、joins句を使用してテーブルを…
Sessionと聞いて安全・安心と思っていた私にとっては軽く驚愕の事実です。RailsのセッションはデフォルトでCookieに情報を保存するそうです。つまり、ユーザーが閲覧することが可能な状態と言うことになります…。ASP.NETでいうと(意味合いは異なりますが)V…
ログイン処理を行う場合、すべての画面でログイン状態かどうかを判定してログイン状態出ない場合はログイン画面へ遷移するという処理が必要になります。すべての画面に対応するコントローラでそのような処理を行う場合、たいていのフレームワークではアプリ…
新規作成、更新、削除などの処理を行う場合にその処理の前後や検証処理の前後で処理を行うことができる機能がRailsにはあります。コールバックと言われる機能ですが、イメージとしてはデータベースのトリガーに似ています。 今回はパスワードからハッシュ値…
Between句を生成する場合は、対象となる列に範囲式を設定することで対応できる!これってとても素敵だなぁ。 [sourcecode language="ruby"] if params != nil … shiharaibi_from = get_date('shiharaibi_from') shiharaibi_to = get_date('shiharaibi_to') c…
Railsで検索条件などを作成する場合に躓いたところをメモするよ。へっぽこプログラマなのでつまらないことで躓いている点には生暖かい目で見ていただけるとうれしいです。 1.モデルにひも付かない form_tag を使用する。 2.form_tagではオブションのデフォ…
久しぶりにHTMLを書いています。昔、ASP.NET2が出た頃にCSSでボックスレイアウトなウェブサイトを作って以来です。あの頃から感じていたのですが、ウェブサイトの設計書を作成するツールってあんまりないですね。 以前ウェブサイトを作成したときに、自分が…