みかづきメモ

学習したことのメモとか、日記とか、備忘録。

rails_admin で表示するフィールドをカスタマイズしたい

例えば、 created_at とか updated_at とかはいらないんだけど、他は表示したい。
あと、追加で comment みたいなのも表示してほしいとかそういった場合:

# @ config/initializers/rails_admin.rb
config.model 'User' do
  include_fields_if do
    not name.match /_at$/
  end

  field :comment
end

こんな感じでいけるよというメモ。

VS をアップデートしたら XamarinAndroidPackage 云々言われた

Visual Studio 2017 を起動したら、更新が来てたので、更新したらこうなった。

とりあえず、 Xamarin 関連コンポーネントだけアンインストール→再インストールも
試してみましたが、そちらでは直りませんでした。

ということで、 VS Installer から修復したら直りました。

Mastodon メモ

結論:

どういうこと:

  • Streaming API のドキュメントを見ていて、 Local timeline を取得するものがなかった。
  • ないのかなーとつぶやいたら、「あるよ」っていうツイートを見かけた

master が変わってるので別の部分指しているけども、実際のソースはここ
github.com

こういうの、 PR 送るチャンスなんだろうけども、 PR 送るの怖いとかそういうのがあるので、
この記事を見た誰かが PR でドキュメントを整えてくれると祈っておきます。

find_by_sql でも preload したい

ActiveRecord のクエリじゃきついような時、 find_by_sql を使うと思うのですが、
こっちは preload ができないのでしたかった。

ちなみに Rails 5 です。

users = User.find_by_sql(["SELECT * FROM ...", id])
ActiveRecord::Associations::Preloader.new.preload(users, [:posts, :job])
users # <= Preload されたやつ

参考:

Rails で ROLLBACK された理由が知りたい

レコード作成時、なにも COMMIT されなかったり ROLLBACK されたりして、
理由がわからなかったので調べる方法。

song = Song.new(title: "恋愛サーキュレーション")
song.save # -> ROLLBACK
logger.debug song.errors.inspect  # -> {message: "すでにあるよ"}

よく考えれば、普通に View のほうでは errors を表示してたりするので、
初めからこれをみればよかった