「コード」カテゴリーアーカイブ

Rails: クラス名が ActiveRecord::AttributeMethods 内のモジュールと同じ場合


Rails で作成したクラスの名前が “Read” だったとき、 そして その Read クラス を モデルクラス の中で使用したとき、 次のエラーが出ました。

undefined method `where’ for ActiveRecord::AttributeMethods::Read:Module

Read という クラス ではなく、 Rails が用意している ActiveRecord::AttributeMethods::Read モジュール だと判断されています。 次のようにすると、 作った Read クラス を使用できます。


CoffeeScript: for ループ の書き方


CoffeeScript で for ループ を書く方法。

配列の for ループ

Ruby でいうところの items.each

配列の 添字付き for ループ

Ruby でいうところの items.each_with_index


Rails Sprockets::Rails::Helper::AssetFilteredError


Rails では application.js が require_treeassets/javascript 内の javascript ファイル をすべて読み込むようになっています。 その required_tree を削除するとエラーになるのですが、 ここではそのエラーを回避する方法を書き留めておきます。

環境

sprockets を導入していれば 起きるエラーです。 私もいくつかの環境で経験していますが、 今回使っていたのは次の環境でした。

  • Ruby 2.0.0
  • Rails 4.2.5

エラー内容

Sprockets::Rails::Helper::AssetFilteredError – Asset filtered out and will not be served: add Rails.application.config.assets.precompile += %w( xxxx.js ) to config/initializers/assets.rb and restart your server:

解決法

ほかにも解決法はありますが、 次のようにして、 とにかくすべてをコンパイル対象にします。 余計なものまでできてしまう可能性も否定できませんが。