オプションタグを options_for_select
で生成する方法についてまとめました。
環境
- Ruby 2.2.3
- Rails 4.2.5
オプションタグを options_for_select
で生成する方法についてまとめました。
Rails で作成したクラスの名前が “Read” だったとき、 そして その Read クラス を モデルクラス の中で使用したとき、 次のエラーが出ました。
undefined method `where’ for ActiveRecord::AttributeMethods::Read:Module
Read という クラス ではなく、 Rails が用意している ActiveRecord::AttributeMethods::Read モジュール だと判断されています。 次のようにすると、 作った Read クラス を使用できます。
1 |
"Read".constantize |
CoffeeScript で for
ループ を書く方法。
for
ループRuby でいうところの items.each
。
1 2 3 4 |
arr = ['a', 'b', 'c'] for item in arr alert item |
for
ループRuby でいうところの items.each_with_index
。
1 2 3 4 5 |
arr = ['a', 'b', 'c'] for item, index in arr alert index alert item |
PHP にあった nl2br
を Rails で実現する方法です。
(Rails が大きく変わらない限り) いろんなバージョンで使えると思います。
Rails では application.js が require_tree
で assets/javascript
内の javascript ファイル をすべて読み込むようになっています。 その required_tree
を削除するとエラーになるのですが、 ここではそのエラーを回避する方法を書き留めておきます。
sprockets を導入していれば 起きるエラーです。 私もいくつかの環境で経験していますが、 今回使っていたのは次の環境でした。
Sprockets::Rails::Helper::AssetFilteredError – Asset filtered out and will not be served: addRails.application.config.assets.precompile += %w( xxxx.js )
toconfig/initializers/assets.rb
and restart your server:
ほかにも解決法はありますが、 次のようにして、 とにかくすべてをコンパイル対象にします。 余計なものまでできてしまう可能性も否定できませんが。
1 |
Rails.application.config.assets.precompile += %w( * ) |