Rails で作成したクラスの名前が “Read” だったとき、 そして その Read クラス を モデルクラス の中で使用したとき、 次のエラーが出ました。
undefined method `where’ for ActiveRecord::AttributeMethods::Read:Module
Read という クラス ではなく、 Rails が用意している ActiveRecord::AttributeMethods::Read モジュール だと判断されています。 次のようにすると、 作った Read クラス を使用できます。
PHP にあった nl2br
を Rails で実現する方法です。
環境
(Rails が大きく変わらない限り) いろんなバージョンで使えると思います。
続きを読む Rails で nl2br を実現する →
Rails では application.js が require_tree
で assets/javascript
内の javascript ファイル をすべて読み込むようになっています。 その required_tree
を削除するとエラーになるのですが、 ここではそのエラーを回避する方法を書き留めておきます。
環境
sprockets を導入していれば 起きるエラーです。 私もいくつかの環境で経験していますが、 今回使っていたのは次の環境でした。
エラー内容
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:
解決法
ほかにも解決法はありますが、 次のようにして、 とにかくすべてをコンパイル対象にします。 余計なものまでできてしまう可能性も否定できませんが。
Rails . application . config . assets . precompile += %w( * )
よく忘れることなのでメモしておきます。
application.js.coffee
Rails では あらかじめ application.js が用意されていますが、 これを coffeescript の形式にしたいと思うことがよくあります。 そういうときは次のように 上部のコメントアウト //
を #
に書き換えます。
# This is a manifest file that'll be compiled into application.js, which will include all the files
# listed below.
#
# Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
# or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
#
# It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
# compiled file.
#
# Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
# about supported directives.
#
#= require jquery
#= require jquery_ujs
#= require turbolinks
# require_tree .
最後の require_tree
は意図的に無効にしています。 余計な javascript まで読み込むので。
こちらは Rails 4.2.5, Ruby 2.0.0 で動くことを確認しています。
また、 Rails の変数・定数を使いたい場合に application.js.erb にしたこともあります。
Ruby で 小数点以下第n桁で切り捨てる方法をメモしておきます。
0.81235 などのリテラル (Float ) には floor という関数があり、 小数点以下の切り捨てが可能ですが、 小数点以下の桁を残して切り捨てることはできません。
環境
Ruby 2.2.3p173
OS: Ubuntu 15.04
続きを読む Ruby 小数点以下第n桁で切り捨てる方法 →
投稿ナビゲーション
A Life Summary of an Gypsy