tkymtk's blog

Ruby on Rails及びその周辺について調べたこと。Do whatever you want to do at your own pace.

Ruby on Rails

RSpecのバージョンをあげたら、エラーがたくさん出たので対処

エラーが出た warning: loading in progress, circular require considered harmful - /Users/me/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/sass-3.2.19/lib/sass.rb こんなエラーとか、他のエラーもたくさん出た 対処 新しいRSpecのrails generate r…

RailsでSpringが動かないとき (Mac) [ uninitialized constant Spring::SID::DL ]

エラー こんなの `fiddle_func': uninitialized constant Spring::SID::DL (NameError) from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:30:in `sid'

Rspecのstubとかをrails consoleで使う

Railsコンソールを起動して require 'rspec/mocks/standalone' でok リンク ruby on rails - RSpec mock from test console - Stack Overflow standalone - Outside rspec - RSpec Mocks - RSpec - Relish

Rails: rails console で FactoryGirlを使う

rails consoleを起動 rails c --sandbox そして次を入力 require 'factory_girl_rails' でok リンク https://stackoverflow.com/questions/18195851/how-do-i-use-factories-from-factorygirl-in-rails-console

Rails + MySQL: rails s でサーバが起動できないとき

エラー `connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error) 解決 そんなエラーがでたときは、焦らずに $ mysql.server start で SUCCESS!とか表示されて、この後はrails sできるはず。

Rails form の submit ボタンにbootstrapのglyphiconをつける

対処 button_tag を使う コード <%= button_tag( class: "btn btn-primary") do %> <%= content_tag :span, "Submit", class: "glyphicon glyphicon-plus" %> <% end %>

Ruby on Rails の知識を得るための、英語のリソース

発見次第順次追加。

ActiveAdmin と Devise で ActiveAdmin の before filter

やりたいこと Book リソースの操作。 ActiveAdminで作成したユーザ以外は indexとshowアクションにしかアクセスできないようにしたい。

Fakerで本のデータを作る。

Rake task をつくる。 必要な情報 タイトル 著者名 isbn とりあえず、 rake db:populate で10冊ほど本を追加できるようにする。

Devise v3.2.2 README 日本語 抄訳

Devise-readme-ja Devise を使いたいので、勉強のためにとりあえずREADMEを訳します。 誤訳等ございましたらご指摘願います。Deviseを使用するのに十分な量だけ順次訳したいと思います。 バージョンは 3.2.2です。 すでにいくつも日本語訳や解説が存在します…

bootstrap-generators gemを使う。

はじめに Railsでtwitter-bootstrapを使う方法はいくつかあります。gemを使って導入する場合、 lessで使いたいときは、twitter-bootstrap-rails sassで使いたいときは、bootstrap-sass を選択するのがほとんどだと思います。 twitter-bootstrap-railsにはジ…

Rails4: Simple_formをBootstrap3に対応させて使う。

2014/5/2更新 simple_formはbootstrap3に対応したようです。 Bootstrap 3 support for Simple Form | Plataformatec Blog 下記の内容は必要ないと思います。 やりたいこと Rails4で、Simple_formを使い、 Bootstrap-sassを介してBootstrap3を適用したい。

childprocessというgemについて

例 Ruby on Rails Tutorialから。 * Learn Web Development with the Ruby on Rails Tutorial | Static Pages

spec/controllers エラー @controller is nil: make sure you set it in your test's setup method.

エラー controller is nil: make sure you set it in your test's setup method.

Rails4 外部キーをテーブルに設定するための、3通りのマイグレーションの書き方。

書き方 例として、micropostsテーブルにuser_idカラムを外部キーとして設定したいと思います。 (この例では、他にcontentカラムもテーブルに設定しています。)

Ruby on Rails Tutorial Chapter10 FactoryGirlを使って/使わないで書くRSpec

前準備

Macも、Windowsも、Linuxも!Railsのインストールをサポートしてくれる InstallRails.com

InstallRails.com Install Rails | Your Guide for Installing Ruby on Rails

bootstrap-sassで、ブレイクポイントの変更

方法 cssファイルの@import "bootstrap"より前に、変更したい変数を指定。 その際に、ブレイクポイントの変数を上書きする。

Rails 4.1.0ベータがリリースされたので主な新機能まとめ(1)

ここで紹介する機能 Spring アプリケーションプリローダー config/secrets.yml Action Pack variants Action Mailer プレビュー

Ruby on Rails: $ rake routes の結果をmarkdown形式で表示。

こんな感じで出力したい | Prefix | Verb | URI Pattern | Controller#Action | | ----------- | ------ | ------------------------- | -------------------- | | users | GET | /users(.:format) | users#index | | | POST | /users(.:format) | users#cre…

Rails: フォームのエラーが出た欄を、Bootstrapを使ってスタイリングする方法

CSS .field_with_errors { @extend .has-error; }

2014年までに始めてみる!Ruby on Railsを無料で学ぶ時に知っていると役立つリンク集

今年、Ruby on Railsを学んでみて、役立ったリンクを集めてみました。

RSpec: カスタムマッチャ Rails Tutorialでハマったところ。should_notの動作

問題 should_notが期待通りに動作しない カスタムマッチャの定義 RSpec::Matchers.define :have_error_message do |message| match do |page| expect(page).to have_selector('div.alert.alert-error', text: message) end

Rails TutorialのフォームをBootstrap3で書き換えた

変更点 span6 offset3 から col-xs12 col-sm-6 col-sm-offset-3に変更。 それぞれのインプット要素を<div class="form-group">で包む インプット要素にclass: "form-control"を指定 ボタンのcssを、btn-largeからbtn-lgに変更。 ついでに、フォームタグにrole="form"を追加するための</div>…

Rails, PostgreSQL: rails console --sandboxを起動しているとき、DBはどうなっているか。

コンソールをサンドボックスモードで起動したとき、データベースへの操作がデータベース上で確認出来ないので調べてみました。

Rails アプリ動作のバックグラウンド(基礎編)2

前回までに見たこと 基礎編1では、scaffoldでUsersリソースを作成して、indexページにアクセスするところまで見ました。 http://localhost:3000/users Listing users Name Email New User 今回はindexページから先をみて行きたいと思います。 /users/new と …

Railsルーティング: match … via: と get … as: の使い方

get または match … via: 'get' 次の2つは同じこと get '/help', to: 'static_pages#help' match '/help', to: 'static_pages#help', via: 'get'

Rails: フォーム要素を生成するためのヘルパー

フォーム要素を生成するためのヘルパー Railsはチェックボックスやテキストフィールド、 ラジオボタンなどのフォーム要素を生成する一連のヘルパーを提供する。 "_tag"で名前が終わるヘルパーは、一つの<input>要素を生成する。 これらの第1引数はinputの名前 フォ…

Rails: form_tag まとめ

まとめ form_tag まとめ デフォルトでは現在のページにPOSTするフォームを生成 文字エンコーディングとCSRF対策の為の<div>要素を生成 CSRF対策はGET以外のとき 引数を2つとる。 第1引数はリクエストを受けるアクションのパスを指定(文字列・ハッシュ) 第2引数</div>…

Rails アプリ動作のバックグラウンド(基礎編)1

前準備 新しいRailsアプリを作成後 scaffoldでUsersリソースを作成します。 ここではとりあえずデータ型がstringのnameとemailという属性を持たせます。

Rails インクリメンタル開発手法

RailsによるアジャイルWebアプリケーション開発 第4版からまとめ。 指針 作業を始めるのに十分な仕様が立案できたら、直ちに機能の開発に着手する。 コーディングを開始する前に全ての仕様を決定することはしない。 小規模な設計と開発のサイクルを繰り返す。…

アクティブレコード アソシエーション Active Record Associations まとめ 1

RailsGuides v4より Active Record Associations — Ruby on Rails Guides Active Record Associations アクティブレコードモデル間の関連の宣言の方法 アクティブレコードアソシエーションのそれぞれのタイプの理解の仕方 モデルに追加されたメソッドを、ア…

Slimにできて、Hamlに出来ないこと。

Railsを始めて、ERBを書いているわけでありますが、 どうにも面倒くさくなります。そこで代わりになるSlimとHaml がある訳ですが、色々調べてSlimを使うことにしました。 SlimにできてHamlにできないこと。 HTTP streaming 将来的にはHamlでもHTTPストリーミ…

Rails: アセットパイプライン(1分で最低限の復習)

Ruby on Railsのアセットパイプラインとは jsコードやcssといったアセットをRailsアプリでとても使いやすくする仕組み。 アセットは専用のアセットディレクトリにいれる。 アセットをこれらのディレクトリに入れると、アセットパイプラインがそのアセットを…

Railsインストール後:アプリケーションの作成からRspecを使えるようにするまで。

ディレクトリを作成 $ mkdir <directory_name> そのディレクトリに移動 $ cd <directory_name> アプリのひな形を生成 $ rails new <app_name> 生成したアプリのディレクトリに移動 $ cd <app_name> このとき、$ cd <app_name> --skip-test-unit とオプションを付けると、testディレクトリをつくらないので、 あとでtestディ</app_name></app_name></app_name></directory_name></directory_name>…

ActionView概要 - View - RailsGuides v4.0.0 日本語訳

2014/9/25追記: http://railsguides.jp/action_view_overview.html の訳がすばらしいのでそちらを見てください。 ActionView概要 このガイドを参照することによって、次のことを知ることができます。 Action Viewが何で、Railsでどのように使うか。 テンプ…

アクションパック- リクエストからレスポンスまで

Action Pack – From request to response Action Pack はwebリクエストに対して処理とレスポンスを返すためのフレームワーク。 Action Packが提供するものは: ルーティング(routing)する(リクエストURLをアクションに割り付ける)仕組み。 アクションを実装…

Scaffoldで何が生成される?

Scaffoldを使うといったい何がどうなるのでしょうか。 Scaffoldとは: Railsに用意されている、コードを自動生成するジェネレータのひとつ。 アプリケーションの足場となるプログラムのひな形を自動で構成してくれる。 "scaffold"を生成すると、任意のテーブ…

Ruby on Rail Tutorial bootstrap-sassでハマった

.debug_dump { . . . @include box_sizing; } シンタックスエラーでできない。 .debug_dump { . . . @include box_sizing(border-box); } これで出来た。どうやら引数が必要なようだ。 bootstrap-less のソースコード // Box sizing .box-sizing(@boxmodel) …

Ruby on Rails Tutorial チャプター6 メモ

RoR Tutoarial のチャプター6.1.3 rails consoleで User.new を 実行した後、 開発ログをtailしたまま上を実行していた場合、実行後に新しい行が何も表示されないことに気付いた方もいると思います。 のような表記があります。最初なんのことかわからなかっ…

attr_accessor と attr_accessible の違い。

attr_accessor は Ruby のメソッドで、ゲッターとセッターをつくる。 attr_accessible は Railsのメソッドで、モデルのどの属性をアクセス可能にするかをRailsに伝える。マスアサインメントの脆弱性から守るために必要。

gem設定ファイルを作成 Railsをインストール

subl ~/.gemrc ができない→ ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/.rvm/bin/subl でできた Problems using subl command in terminal: "Command not found" & "No... http://

RVMとRubyをインストール

rvmのトップには Install RVM with a Ruby: \curl -L https://get.rvm.io | bash -s stable とあったが、今回Ruby は別にインストールするのでとりあえず ターミナルに \curl -L https://get.rvm.io | bash を入力してrvmをインストール。 その後手順通り。

間違いがあれば、ご指摘下さると幸いです。