Herokuでbranchを変えてDeployしようとするとpullしろと怒られた場合

Sep 19, 2016
AD:

こんな感じで、masterでなく、branch_name_hogeをpushします。

その後、別のbranch(branch_name_hoge2)でpushしたくなって、下記のようにpushします。

でも、pushするまえに、一回Pullしてよとか、言われる場合があります。
そんな時は-fを入れて強制的にpushすればOkです。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 25

RailsでroutesにNamespaceを使用した場合のViewやController周りの変更点

Aug 21, 2015
AD:

routes.rbにこんな感じでadminのNamespaceを設定します。

フォルダ関連の作業

ControllerとViewsはadminフォルダに入れてください

ファイルの記述の変更

ControllerにNamespaceをつけてあります。Admin::ですね。

Viewをscaffoldで作っていた場合は下記のように変更します。

formも変更が必要があります。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 1 | Pocket: 3 | Total: 4 | Feedly: 25

RailsのTaskでデータをインサートしたらDuplicate key value violates unique constraintがでる場合

Jul 24, 2015
AD:

RailsのTaskでレポートを生成するように作っているのですが、スケジュールで毎週動かすようにしていたのですが、どうもうまくいっていないようなので、調べてみたら、下記のエラーになっていました。
プライマーキーの最大値が更新されていないようです。

対処方法

Railsが独自のPostgreSQLシーケンスをつかっているかららしいです。
なので、SQLで最大値をセットしてあげます。これで問題なく動くようになりました。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 4 | Total: 4 | Feedly: 25

Vagrantなどで接続が切れたRailsのサーバを止める方法

Jul 9, 2015
AD:

Vagrantなので、rails sなどでrails serverを立ち上げていて、ネットワークなどが変わるとVagrantから抜けて、rails sは残ったままになるのですが、再度vagrant sshしてからrails sをしても前のサーバが生きているので、立ち上げられなくなります。

対処方法

3000 portを使っているプロセスを見つけてきて、プロセスをkillしてしまいます。

もっと賢いやり方があるような気がするのですが、ご存知の方は教えてください。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 1 | Total: 1 | Feedly: 25

Rails4から導入されたルーティングの一覧を確認するページ

Jul 9, 2015
AD:

Rails4から導入されたルーティングの一覧を確認するページのURLをいつも忘れるので、メモしておきます。
覚えておくと便利ですね。

http://localhost:3000/rails/info/routes
Screen Shot 2015-07-09 at 6.21.26 am

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 1 | Total: 1 | Feedly: 25

Rails 4.2 & Deviseの環境下でStrong_ParametersによるUnpermitted parametersエラー

May 26, 2015
AD:

Rails4からMass Assignment対策として、StrongParametersがRailsの中の標準ライブラリと組み込まれるようになりました。

Deviceを使ってユーザ認証を導入、独自フィールドを設置したのですが、StrongParametersでそのフィールドを許可の対象にしないとUnpermitted parametersとしてエラーがでます。
せっかく調べたので、その設定をメモしておきたいと思います。

やったこと

今回の環境
– Rails 4.2.1
– Devise 3.2.1

こういう時はドキュメントを読むのが一番ですね。しっかりStrongParametersについて書いてありますね。
http://www.rubydoc.info/github/plataformatec/devise/master/frames#Strong_Parameters

まずこの3つのアクションがあることを理解しておきます。

  • sign_in (Devise::SessionsController#create) – Permits only the authentication keys (like email)
  • sign_up (Devise::RegistrationsController#create) – Permits authentication keys plus password and password_confirmation
  • account_update (Devise::RegistrationsController#update) – Permits authentication keys plus password, password_confirmation and current_password

その後は各種アクションに対して、どのパラメータを許可するかを追加します。
ApplicationControllerに書くのもいいかもしれませんが、将来の拡張性などを考えるとモデルに対してコントローラーを作るのが汎用性が高そうです。

registrations_controllerをUsersフォルダ内に作成しました。

routes.rbに明示的にコントローラーを指定する

以上で追加したフィールドに情報を追加できるようになりました。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 2 | Pocket: 0 | Total: 2 | Feedly: 25

Command ‘qmake ‘ failed – capybara-webkit in Ubuntu 14.04

Apr 2, 2015
AD:

環境

Ruby 2.2.1
Rails 4.2.1
Ubuntu 14.04

でcapybara-webkitをインストールしようとしたら下記のエラーがでました。

解決方法

エラー通りqmakeがないので、入れてあげて解決です。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 25

Vagrant Rails 4.2 in Mac で dev.domain:3000等でアクセスできない

Mar 26, 2015
AD:

最新のプロジェクトをVagrant Ruby 2.2.1 & Ruby on Rail 4.2.1の最新安定バージョンで開発を開始いたのですが、Vagrantの内のRails Appにhttpでアクセスがうまくできなかったのでその際のメモです。

状況

VagrantのUbuntuにrbenvでRubyをインストールしております。
各種Appには、/etc/hostsに独自ドメインを指定してアクセスしております。

アクセスは下記のようなドメインでやっております。
http://dev.domain:3000

解決方法

いきなり解決方法です。

問題なのは、Rails4.2のbindsが0.0.0.0が127.0.0.1になっているので、-bで指定して立ち上げることが解消できます。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 25

RailsでSaveにIDを指定して保存

Mar 24, 2015
AD:

ちなみにこれじゃダメだった

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 25

heroku run rake db:migrateがエラー: “cannot load such file — debugger”

Jan 17, 2015
AD:

error内容

heroku run rake db:migrateが上記ののようなerrorを返してきたので、よくよく考えてみるとTasks内にrequire ‘debugger’があったのを思い出しました。

解決方法

単純にrequire ‘debugger’をコメントアウトで解決

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 25

ARCHIVES