request.fullpathでparamを使わない

Railsのrequest.fullpath だと param 以降も受け取ってしまうので、paramの値を使わない時の方法。 解決策 splitで邪魔なものをとる方法 request.fullpath.split("?")[0] path を使う方法。こっちのほうがよさそう。 request.path 参考 [ruby on rails – request.fullpath with no parameters – Stack Overflow][1]

2014-01-05 · 鉄

`config/routes.rb`内のブロックはブロックじゃない。

scope "api" do resources :entries end このコードをワンラインで、 scope "api" { resources :entries } とかくと動かないので、routes.rb は DSLなのでブロックの書き方に影響が出てるようです。何でこうしてるかの詳しい理由はよくわからない。

2014-01-03 · 鉄

Maverickで`rails new` が `atomic`のインストールでこける時の対処法

rails new したらbundle install が atomic の所でコケた。何か前も同じエラーに引っかかって結構検索した記憶があったんだけど今回も対処法を探すのに結構な時間がかかってしまった。 エラーメッセージはこんなの。 run bundle install Fetching gem metadata from https://rubygems.org/.......... Fetching gem metadata from https://rubygems.org/.. Resolving dependencies......... Installing rake (10.1.1) Installing i18n (0.6.9) Installing minitest (4.7.5) Installing multi_json (1.8.2) Installing atomic (1.1.14) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/ironsand/.rbenv/versions/2.0.0-p247/bin/ruby extconf.rb *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/ironsand/.rbenv/versions/2.0.0-p247/bin/ruby --with-atomic_reference-dir --without-atomic_reference-dir --with-atomic_reference-include --without-atomic_reference-include=${atomic_reference-dir}/include --with-atomic_reference-lib --without-atomic_reference-lib=${atomic_reference-dir}/ /Users/ironsand/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/mkmf.rb:430:in `try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /Users/ironsand/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/mkmf.rb:515:in `try_link0' from /Users/ironsand/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/mkmf.rb:813:in `try_run' from extconf.rb:26:in `<main>' Gem files will remain installed in /Users/ironsand/dev/raffler/vendor/bundle/gems/atomic-1.1.14 for inspection. Results logged to /Users/ironsand/dev/raffler/vendor/bundle/gems/atomic-1.1.14/ext/gem_make.out An error occurred while installing atomic (1.1.14), and Bundler cannot continue. Make sure that `gem install atomic -v '1.1.14'` succeeds before bundling. ironsand@Air-2 dev$ gem update 解決策 エラーメッセージからだと全くわからないんだけれども、どうやらこれは Xcodeのバージョンをアップとか新規インストールした時に一度立ち上げて利用規約にOKと答えておかないとコンパイラーが使えずにでるらしい。 ...

2014-01-03 · 鉄

Zurb Foundation のトップバーの右上のメニューを消えないようにする

Zurb Foundationのトップバーの右上のメニューですが、デフォルトでは幅が940pxを切るとMenuに折りたたまれてしまうという結構広い設定になっています。 もうちょっと幅が狭くても出るようにしたかったので修正しました。 対策 設定ファイルを以下のように書き換えます。環境はRailsです。 // $topbar-breakpoint: 940 !default; // Change to 9999px for always mobile layout $topbar-breakpoint: emCalc(600px); ちなみに[Menu]自体がでなくて少し困ったのですがtoggle-topbar menu-icon を設定してなかったのが原因だったようです。 <ul class="title-area"> <li class="name"> <h1><%= link_to "Site Title", root_path %></a></h1> </li> <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> </ul>

2014-01-01 · 鉄

since_id parameter is invalid. と言われた時の対処法

Railscasts のTwitter の項目通りに書いてると since_id parameter is invalid. のエラーでつまづきました。 どうやらTwitterAPI1.1からの変更で since_id に `` を指定できなくなったのが原因のようです。 もちろんレコードにすでにつぶやきが入ってれば問題ないんですが初回の何も入ってない時にこけてしまうわけです。 対策 user.twitter.list_timeline(list_id, since_id: [maximum(:tweet_id),"1"].max) と返り値に最低でも1が入るようにしておけばOKです。文字列にしてるのは twitter_idを文字列で保持してるからです。 参考 [API v1.1 statuses/user_timeline since_id parameter is invalid | Twitter Developers][1]

2013-12-27 · 鉄

attr_accessible は Rails4では使えなくなりました

attr_accessibleはRails4では使えなくなったのにユーザー管理の定番 gem deviseではまだ使っているようなので新しい昨日の Strong parameter に書き換えておきましょう。 具体例 devise の設定で User モデルにこんなのが書いてると思うので attr_accessible :email, :password, :password_confirmation その行を削除して下の方にこれを追加しましょう。 private def user_params params.require(:user).permit(:email, :password, :password_confirmation) end 参考 [attr_accessible][1]

2013-12-23 · 鉄

OmniauthとDeviseの設定ファイルを両方同時に使うとルーティングがおかしくなる

何故だか理由はさっぱりわかりませんが、どうにもおかしな動きが route.rb をいくらいじってもなおらないので色々情報を探してたら、config の omniauth.rb を消したら動きました。 consumer_key とかは devise.rb に書いておきましょう。 参考 [ruby on rails 3 – Authentication failure : Devise + OmniAuth + Twitter – Stack Overflow][1]

2013-12-23 · 鉄

Omniauth+DeviseでTwitterとかでログインもできるし連携もできるサンプル

https://github.com/mohitjain/social-login-in-rails ここにあります。

2013-12-23 · 鉄

Railsで ‘not null’ の制限をマイグレーションで取り除く方法

devise と omniauthを組みわせて使うと default の email と encrypted_password が必ず値を持たなければならない null => false の制限が邪魔だったのでMigrationで削除しようとしたけど方法がわからなかったので調べてみた。 やりかた class RemoveConditionFromUser < ActiveRecord::Migration def change change_column :users, :email, :string, null: true change_column :users, :encrypted_password, :string, null: true end end 参考 [Rails Migration: Remove constraint – Stack Overflow][1]

2013-12-23 · 鉄

Rails開発してる私が使ってるgemの一覧

Macの環境構築をやり直したので、入れてるgemの一覧を出してみました。 actionmailer (4.0.0) actionpack (4.0.0) activemodel (4.0.0) activerecord (4.0.0) activerecord-deprecated_finders (1.0.3) activesupport (4.0.0) addressable (2.3.5) arel (4.0.0) atomic (1.1.14) bigdecimal (1.2.0) buftok (0.2.0) builder (3.1.4) bundler (1.3.5) celluloid (0.15.2) chunky_png (1.2.8) coderay (1.1.0) compass (0.12.2) compass-normalize (1.4.3) compass-recipes (0.3.0) descendants_tracker (0.0.3) diff-lcs (1.2.5) equalizer (0.0.8) erubis (2.7.0) factory_girl (4.3.0) factory_girl_rails (4.3.0) faker (1.2.0) faraday (0.8.8) ffi (1.9.3) formatador (0.2.4) fssm (0.2.10) guard (2.2.4) guard-rspec (4.2.0) hike (1.2.3) http (0.5.0) http_parser.rb (0.5.3) i18n (0.6.5) io-console (0.4.2) json (1.8.1, 1.7.7) listen (2.2.0) lumberjack (1.0.4) mail (2.5.4) memoizable (0.2.0) method_source (0.8.2) mime-types (1.25) minitest (4.3.2) multi_json (1.8.0) multipart-post (1.2.0) polyglot (0.3.3) pry (0.9.12.4) psych (2.0.0) rack (1.5.2) rack-test (0.6.2) rails (4.0.0) railties (4.0.0) rake (10.1.0, 0.9.6) rb-fsevent (0.9.3) rb-inotify (0.9.2) rcodetools (0.8.5.0) rdoc (4.0.0) rspec (2.14.1) rspec-core (2.14.7) rspec-expectations (2.14.4) rspec-mocks (2.14.4) rubygems-update (2.1.5) sass (3.2.12) simple_oauth (0.2.0) slop (3.4.7) spork (0.9.2) sprockets (2.10.0) sprockets-rails (2.0.0) test-unit (2.0.0.0) thor (0.18.1) thread_safe (0.1.3) tilt (1.4.1) timers (1.1.0) treetop (1.4.15) twitter (5.1.1) tzinfo (0.3.37) なので、だいたい名前のわかるやつだけ入れることにします。わかんないのは依存関係のgemか全く使ってないgemなので必要になったらその時に入れることにします。 ...

2013-12-20 · 鉄