New-Village

月間ブログ。だいたい1カ月に1回は更新しているようです。

gemfileのインストール場所を変更する

Nitrousに限りませんが、無償でNitrousを使っている場合には、ひとつのBoxの中で複数のアプリケーション開発することになります。この場合、各Railsアプリケーションは、それぞれのgemfileを通じてライブラリをインストール、利用することになりますが、すべてのライブラリが全てシステムフォルダ内に格納されます。

~/workspace/xapp9(master)$ gem which rake
/home/action/.parts/packages/ruby2.1/2.1.2/lib/ruby/2.1.0/rake.rb

コンフリクトしたりすることは基本ありませんが、安全なアプリ開発をするために、各Railsアプリケーション内部にgemfileのライブラリがインストールされるように設定を変更します。方法は、bundle installを以下の通り、オプションをつけて実行するだけです。

 

~/workspace/xapp7(firstview)$ bundle install --path=vendor/bundle --without production

 

続きを読む

Rubyのバージョンを変更する

gemfileを以下のように記載して、bundle installしたら、

利用しているRubyのバージョンと、Gemfileで指定したRubyのバージョンが異なっているというエラーが発生しました。

~/workspace/xapp7(firstview)$ bundle install --path=vendor/bundle --without production
Your Ruby version is 2.1.1, but your Gemfile specified 2.1.2

そこで、Nitrousのドキュメントを参考にRubyの利用バージョンを変更してみました。

 

続きを読む

Nitrousでゼロからアプリ作成(初期環境構築)

なにが良くなかったのか、nitrous上で作成したアプリをherokuにアップロードしたら正しく動かなかったので、ゼロから環境を作り直してみました。

なんど記録したか分からないですが、初期設定から、ある程度アプリができるまでの手順をまとめた記事です。だんだんはてなブログの使い方にもなれてきたので、古い記事よりも分かりやすい内容になっていると自負しています。

f:id:New-Village:20140906163958p:plain

 

続きを読む

アイコンフォント"Font Awesome"を使う

bootstrap-sassでbootstrapのGlyphiconsを使おうと、いろいろ試行錯誤してみましたが、うまくいかなかったので諦めました。

変わりに、RubyGemsでアイコンフォントが提供されていると知ったので、こちらを試してみることにしました。今回利用したのは、"Font Awesome"です。見切り発車なので、どんなアイコンがあるのかも調べずに着手です(笑)

f:id:New-Village:20140901203219p:plain

続きを読む

事前設定で変更するlimit.confって何だ?

仕事でお客様にfluentdを導入しているのですが、fluentdのインストール手順「Fluentdインストールの前に」に「ファイルディスクリプタの最大値を増やす」という項目があります。マシンの再起動が必要になるので、できればやりたくない作業です。

インストールガイドで再起動してくださいと書いてあるので、省略できないとは思うのですが、せめて何故再起動しなければならないのか、くらいは理解しておきたいと思い、調べてみました。

 

続きを読む

作って知ったMVCの住み分けかた

「モデルの役割がビミョーだよね」

なんて思っていたのですが、以下のスライドシェアのスライドを読んで、自分が未熟なことことが良くわかりました。ちゃちゃっとSQLを書く手軽さに比べると、O/Rマッパーを使ったコーディングは、データそのものが見えずらいので使いにくい…そう思っていましたが、餅は餅屋、プログラミングにおいてはO/Rマッパーを使う意味というのが良くわかりました。

で、これを読んでいると、モデルの中に"named_scope"とやら(メソッド?)を仕込んで、コントローラーで必要なネームドスコープを使うことで、データベースの値を動的に捉えるといった考え方が正しいらしい。(後記:スコープはスコープでメソッドとは違うみたいだ…そりゃそうだよね名前違うんだし。)

たしかに、ネームドスコープを使って基本的なデータセットをモデルに定義しておいて、コントローラーで必要なネームドスコープを呼んで、ビューが表示するという関係だとMVCっぽい気がする。

後は読む価値は無いです。僕の反省文です。

続きを読む

gemのインストール場所を調べる

まずは、アプリケーション名の一覧を取得します。アプリケーション名が分かっている場合は不要です。

~/workspace/xapp9(layout*)$ gem list

以下のコマンドを使うことで、gemのインストール場所が表示されます。なお、"bootstrap-sass"の部分は任意のアプリケーション名に変えてください。

~/workspace/xapp9(layout*)$ gem which bootstrap-sass
/home/action/.gem/ruby/2.1.1/gems/bootstrap-sass-3.2.0.1/lib/bootstrap-sass.rb