2013/09/06 Ruby&RailsBizCon - BOSS-CON JAPAN にて http://www.boss-con.jp/rails/Ruby-RailsBizCon/
gem "therubyracer" gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS gem "twitter-bootstrap-rails" ・twitter-bootstrap-railsはLESSを使用するため、therubyracerが必須 ・LESSのスタイルシートを使うにはless-railsというgemが必要 ・JavaScriptのエンジンであるv8*3をRubyから使えるようにするgem (謎) ということで上記3つのgemを入れます。 追記し終わったらgemの更新 $ bundle install それが終わったらbootstrapジェネレータを使ってassetsへincludeファイルをインストール $ rails generate boot
さっぱりわからんので覚書 公式 GitHub:FactoryGirl Wiki Ruby on Rails (3.x)での設置方法 FactoryGirlRailsを導入する。 Gemfileに以下を追記する。 group :development, :test do gem "factory_girl_rails" gem "database_cleaner" endRSpecと一緒に使う場合は rspec-rails も一緒に導入する。 factory_girlのファイルを設置する モデルに対応するfactory_girlのファイルを設置する % rails g factory_girl:model モデル名単数 属性名1:型 属性名2:型 ... 属性名n:型そうするとRSpecを使っている場合は spec/factories/モデル名単数.rb に雛形がつくられている。例えば以下の
2013年08月06日18:47 Ruby Spring無しでRailsを使おうだなんて正気ですかッ!? Railsはフレームワーク自体や関連ライブラリの読み込みがあるため、ちょっとしたコマンドを実行するだけでかなり待たされてしまったりします(サーバ起動などなど)。そこで、あらかじめRailsプロセスをロードしておき、そのプロセスから各種コマンドを実行することで高速に実行しよう!という素敵なアプローチがあります。その一つが Spring です。 インストールはこれだけ!これだけでコマンドの実行が高速になるんだから入れない理由があるでしょうか。いや、無い。 gem install spring ただ、対象はRails3.2以上なので古いRailsを使っていると恩恵が受けられないです。。そういう場合はさっさとバージョンを上げましょう。そのくらい快適です。 実際に実行時間を計ってみても(かなり適
2011年07月26日13:29 Ruby Railsエンジニアならこれだけは知っておけっていう便利メソッド Object#presence と Object#try という便利なメソッドがあることをご存知ですか?この2つのメソッドはとっても便利なのでちょっと紹介してみます。 Object#presence メソッド これは以下のような定義となっています。 def presence self if present? end present? メソッドというのはみんな大好き blank? の反対のメソッド (!blank?) です。 つまり、nil, false, [](空配列), {}(空ハッシュ), ""(空文字列), " "(半角スペースだけの文字列)であれば false、それ以外であれば true になります(blank? って半角スペースだけの文字列を true と判定するの知って
はじめに 今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 | つい全力ツッコミしてしまうエンジニアCEOのブログ | sumyappを読みました。最初ツッコミどころが凄い*1なと思ったんですが、二回読んでちょっと思い当たる節があるなと思ったので書きます。 Rails を勉強しない方が良い理由 Railsにはscaffoldがあるので間口がすごく広いです。実際それを紹介した 15m intro video*2 が理由で人気を博しました。が、奥行きが深い。どこまで学べば「Railsを使いこなせます」って言えるのかまるでわかりません。 鉄板作法が共有されていない 2005年に出てきた割に意外に鉄板作法が共有されていません。 たとえばビジネスロジックをどこに置くのかについては以下のような議論があります やはりお前らのMVCは間違っている Rails の
Rails3のredirect_toで:noticeオプションを付けることでflashを使えるようになった。 ということで flash[:notice] = 'message' redirect_to :action => 'index' と書いていたものを redirect_to {:action => 'index'}, :notice => 'message' と修正したのだがこのままだとエラーになってしまう。 ネットで調べると、どうやら引数で渡したハッシュの「{」記号がブロックとして解釈されてしまうらしい。 redirect_to ({:action => 'index'}, :notice => 'message') このように引数全体をカッコで括ってもだめ。 結局以下の書き方が正解だった。 redirect_to ({:action => 'index'}), :notice
はじめに ルーティングとは シンプルな例 デバッグ Resource Routing 生成されるルート 基本 idを伴わない場合 Namespace - path and controller prefix Scope - controller prefix Scope - path prefix Nested Resources - has_manyな場合に member, collection - 追加のアクション collection と match Non-Resourceful Routes Dynamic Static query strings Defaults Naming - matchでも名前を付ける Constraints (HTTP verb) - HTTPメソッドで制約する Constraints (parameter) - パラメータを制約する Constrai
例えば User モデルで devise を設定したとき、ログイン用のパスは /users/sign_in、ログアウトは /users/sign_out になります。個人的には /login /logout の方が好みなのでroutes.rb を下記のようにしました。 devise_for :users, skip: [:sessions] devise_scope :user do get 'login' => 'devise/sessions#new' post 'login' => 'devise/sessions#create' get 'logout' => 'devise/sessions#destroy' end 1行目の devise_for :users, skip: [:sessions] でデフォルトのログイン関連のパスを削除して、その後で /login /logou
Twitter みたいなフォロー機能を実装中 自分で一から作ってもいいけど、GitHub をぶらついていたら party_boy っていう面白そうな gem を見つけたので、これを使ってみる。 mnelson/party_boy · GitHub party_boy のインストール Gemfile に追加し、 gem "party_boy" gem をインストール。 bundle そしてジェネレーターを実行して、マイグレーションファイルとモデルを生成する。 bundle exec rails g party_boy マイグレーション時の注意点 生成されたマイグレーションファイルの名前と、中のクラス名が違っているので、このままマイグレーションを実行すると失敗してしまう。 作成するテーブルは relationships なので、ファイル名を xxxxxxxxx_create_relations
RSpec の書き方について 要約:RSpec は単なるテストを英語っぽく書けるツールではなく開発の全プロセスを加速するツールであるのでプロジェクト初期から有効に利用する必要がある。 4/1 ですが気にせず真面目な話を書きます。 RSpec は多分 Ruby 界隈で一番使われているテストフレームワークの一つだと思います。であるので使い方の解説や概念の解説多いですが、個人的にはそれらの解説は的を外したものが多いと考えています。 RSpec の真髄を会得するには、 RSpec の spec をどのように書くかということを考えてゆく必要があると思います。 まず RSpec の特徴的な点とはなんでしょうか。 RSpec でテストは以下のように書かれます。 describe "肛門" do context "排便する時" do it "高速に排便されると肛門がすりきれる" do 肛門がすりきれるとい
2013-06-25 Rails、あんたなんか嫌いよ - Rails での OO 設計について ruby rails 最近はずっと Rails 書いてるんですが、書けば書くほど嫌いになってくるんです。 倦怠期的なやつなんですが、 Rails さんの悪いところばっかり見えてきて、もう一緒にいたくないんです。 でも別れるほどじゃないし… という愚痴にみせかけた Rails での設計についての議論です。 長いけどコードは一切出てこないので通勤中にでもよんでください。 注意 一部にはげしい言葉遣いがでてくるので、読んで不快になるかもしれません。 不快になったとしても責任は負いかねます。 次のような方の期待に沿う結論はでません。残念でした。 Sinatra, Padrino の人 関数型の人 静的型付けの人 C の人 TL;DR Rails にだまされない。 自分の道を見定める。 欺瞞にみちた Ra
たとえば API キーとか、基本的には固定だけど調整で時々変えたい定数みたいなものを定義したいことはよくあると思いますが、それに便利な gem のメモ。 特に目新しいものでもなく、割と定番そうなものですが。 Settingslogic RailsConfig Settingslogic gem をインストールしたら、以下のようにクラスを定義します。 場所は読み込まれさえすればどこでもよいですが、config/initializes/ がよいかもしれません。 class Settings < Settingslogic source "#{Rails.root}/config/application.yml" namespace Rails.env end source に渡した yaml を読み込み、設定値として扱ってくれます。上記は README の抜粋ですが、必要があれば任意のパ
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
先週日曜日に総額480円、プログラムコード200行、作業時間8時間で「給与明細.net」(http://www.給与明細.net)というWebサービスを作ってリリースをしました。これは給与支払明細書のPDFをWebで簡単に作れるWebサービスです。 シンプルな内容なので開発を開始してから8時間以内の作業でリリースできました。このエントリではサクッとサービスを開発してリリースするまでの僕なりの方法を紹介します。 特長 無料 会員登録不要 Excelから一括作成できる(CSVではない) オープンソース(MITライセンス) 目次 解決したい課題を見つける ドメインを取得する サイトマップとURLを決定する よいツールを集める まずデプロイ(公開)する そこそこのデザインにする 最低の機能をつけたらリリースする 広めるための準備をする おまけ:コードをかく 解決したい課題を見つける これがないとそ
追記:Qiita「TwitterAPI Devise連携/グラフ可視化/データの効率的格納/API高速化」 にて続きを書きました。 qiitaにもある、「twitterでログイン」を実装します。 devise(railsのユーザー認証用gem)を使ってtwitter,facebookなどのOAuth認証。 今回はOAuth認証のみでdevise本来の追加認証はしません。tokenも使いません。 deviseの導入から解説していきます。 環境 ruby(1.9.3) rails(3.2.3) devise(2.0.4) omniauth (1.1.0) omniauth-oauth (1.0.1) omniauth-oauth2 (1.0.2) omniauth-facebook (1.3.0) omniauth-twitter (0.0.9) devise+omniauth認証 まずはde
Rails3時代のpaginationの標準に成り得るkaminariのインストールと設定の方法をまとめます。 Kaminariはamatsudaさんが作られたpaginationのためのgemです。 使用させていただいたところ、現在ひろく使用されているwill_paginateからこのkaminariに乗り換えてしまうのに充分な機能がある上、will_paginateと比較してシンプルなためにレンダリングのカスタマイズ等が容易に感じられました。 amatsudaさんありがとうございます。 以下、インストールからカスタマイズの方法までをまとめます。 Kaminariのインストール方法 Gemとしてインストールします。 単にgemとしてインストールするだけであれば、シェルで、 $ gem install kaminari のように入力します。 Rails 3で使用する場合は、Gemfileの
(Rails3.2.6, Ruby1.9.3) db/fixtures に hoge.yml を置いた場合 db seeds.rb fixtures hoge.yml fuga.yml : db/fixtures の yml を全て読み込む。 それから yml に erb のタグを書いても読み込むようにする。 ex: hoge: date: <% Date.today %> seeds.rb ext = "yml" filepaths = Dir.glob(File.dirname(__FILE__) + "/fixtures/*." + ext) filepaths.each do | filepath | fixture = File.read("#{filepath}") data = YAML.load(ERB.new(fixture).result) tablename = Fi
QA@ITはRuby on Railsで構築・運用しています。で、そろそろRailsの新メジャーバージョン、Rails4のリリースが近づいているようです(と、聞くようになってずいぶん経ちますが)。いろいろと新機能がありますが、GitHubを見ていて1つ驚いたことがあります。Ruby on Railsの生みの親のDHH(David Heinemeier Hanssonさん)が、メジャーバージョンアップとなるRails4に向けて行ったこのコミットに唐突感があったのです。よく使われるAPIの名前を、こんなに簡単に変えちゃうんだという軽い驚きです。 「壊れてねぇなら直すな」(If it ain’t broken, don’t fix it.)という有名な言葉があります。米国のジミー・カーター大統領時代の行政管理予算庁長官だったトーマス・バートラム・ランス氏の1977年の発言が人口に膾炙したもののよ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く