mailcatcherが起動しない
起動しないと思ったらただrehashしたら直った、、、、
[git][* fix-iroiro]:~/rails_projects/log/ mailcatcher zsh: command not found: mailcatcher [git][* fix-iroiro]:~/rails_projects/log/ rbenv rehash [git][* fix-iroiro]:~/rails_projects/log/ mailcatcher
tooltipでマウスオーバ表示する
titleに表示したいもんを入れればいいっぽ
- readers = set_read_history_contents(reads) %a{href: 'javascript:void(0);', title: "#{readers}", data: {toggle: "tooltip", placement: "top", html: "true"}} #{read_desc}
helperでtitleに入れるもんを設定してみる
def set_read_history_contents(reads) reads.map do |r| content_tag(:div, class:'clearfix') do concat ([content_tag(:small, r.user.name, class:'pull-left'), content_tag(:small, r.read_at.strftime(t('date.formats.long')), class:'pull-right') ].join.html_safe ) end end.join.html_safe end
よくあるgem libv8とtherubyracerのインストールでエラーになるやつ
An error occurred while installing libv8 (3.16.14.7), and Bundler cannot continue.
libv8はjavascript v8の何からしい
bundle config build.libv8 --with-system-v8
こうするとlibv8はインストールできるがtherubyracerでエラー
An error occurred while installing therubyracer (0.12.2), and Bundler cannot continue.
~/.bundle/configの以下を消して
UNDLE_BUILD__NOKOGIRI: "--use-system-libraries" BUNDLE_BUILD__LIBV8: "--with-system-v8"
bundle update libv8
動いたね
bootstarap ファイル選択のデザインを変える
bootstarap ファイル選択を少し変えたい時
- 以下は枠線をなくしたい場合だけ
form { .form-control[type="file"] { border: 0px; box-shadow: none; padding-left: 0; } }
もっと変えたければ↓
window.onloadと$(document).readyの違い
- window.onload onloadイベント発生時に実行されますが、 これはDOMツリーの構築だけでなく、画像や他の全てのデータの 読み込みが完了した時 1つしか実行されない
window.onload = ()-> $('.js-bootstrap-switch').bootstrapSwitch()
- $(document).ready こちらは画像の読み込みなどは待たず、 DOMツリーの構築が終わった時点で実行されます。window.onloadで指定されているものよりも先に実行されます。
$(document).ready(function(){ console.log('ready 1'); });
rails db index名長すぎて怒られる
- index名長すぎて怒れれたので以下のようにnameを指定してみる
def change create_table :pogehoge_members_permissions do |t| t.references :pogehoge_member, index: true, foreign_key: true t.references :pogehoge_member_permission, index: true, name: 'index_om_permissions_on_om_permission_id', foreign_key: true t.timestamps null: false end end
- んっ、まだ怒られる↓
ArgumentError: Index name 'index_pogehoge_members_permissions_on_pogehoge_member_permission_id' on table 'pogehoge_members_permissions' is too long; the limit is 63 characters
- hashに入れて指定したら怒られないのね、、
def change create_table :pogehoge_members_permissions do |t| t.references :pogehoge_member, index: true, foreign_key: true t.references :pogehoge_member_permission, index: { name: 'index_om_permissions_on_om_permission_id' }, foreign_key: true t.timestamps null: false end end
rails/schema_definitions.rb at 4-2-stable · rails/rails · GitHub
rake taskの作り方
- rake taskの作り方、何度やってもアホなので忘れてしまうのでメモ
rails g task hogehoges
taskできるので処理を追加
desc は説明
PogeNewsのpoge_idを一括更新
namespace :hogehoges do desc "hogehoges migration" task migrate_all: :environment do domain = ENV['DOMAIN'].presence || "hogehoges" hogehoges = Poge.find_by!(domain: domain) PogeNews.where(poge_id: nil).update_all(poge_id: hogehoges.id) end end
- taskに登録されてるか確認
rake -vT
- 実行
rake hogehoges:migrate_all