モデルに以下を記載
alias_attribute :alias_name, original_name
Rails4 Tips
2015年9月9日水曜日
2015年6月28日日曜日
therubyracer-0.12.2/lib/v8/context.rb:99: Segmentation fault at 0x00000000000000
precompile時にずらずらと長いエラーが吐かれます。
既知のバグのようでissueにもあがっていましたが解決方法がなさそうなの therubyracer の使用を諦めてnodejsをおとなしく使う事にしました。
Gemfilesでtherubyracerをコメントアウトし、nodejsがサーバに入っていない場合は入れる
既知のバグのようでissueにもあがっていましたが解決方法がなさそうなの therubyracer の使用を諦めてnodejsをおとなしく使う事にしました。
Gemfilesでtherubyracerをコメントアウトし、nodejsがサーバに入っていない場合は入れる
2015年2月7日土曜日
Carrierwave逆引き
CarrierWaveの画像URL絶対パス
image_file.url は相対バス(保存時は/upload/tmpからなど)を示すためRmagickで読み込みたい場合などはimage_file.pathで絶対パスを取得してアクセスする。
View逆引き
JS,CSSなどのRailsを使わないtipsも含む
ネストしたresourcesのform_for
resources :blogs do
resources :pages do
end
end
の場合
form_for([@blog, @page])
[:blog,@page]などとしても新規登録の際はエラーが出ないが、編集時はエラーが出る。
リンク(link_to)にアイコンをつける
<%= link_to "編集", edit_blog_path(blog) %>
リンクにタグを含めたい場合はリンクのラベルを描かずに do-endでリンクに含めたいタグを囲む。
<%= link_to edit_blog_path(blog) do %>
<i class=" fa fa-edit"></i>編集
<% end %>
<%= link_to edit_blog_path(blog) do %>
<i class=" fa fa-edit"></i>編集
<% end %>
Submitボタンの二重登録防止
<%= f.submit data: { disable_with: "送信しています!" } %>
1度ボタンを押すとボタンを押す事ができなくなる。rails-ujsの機能。
テキストエリアでタブ(tab)を入力する
通常の動作では次のinput項目に選択が移ってしまいますが以下のサイトの方法では一通りの環境では良さそうでした。素晴らしいですね。
RMagick逆引き
以下全てimageはrmagickのImageオブジェクトとする。
ファイルから読み込み
image = Magick::Image.read("ファイルパス").shift
又は以下も可
ImageList.new("パス")
又は以下も可
ImageList.new("パス")
ファイルへ書き出し
image.write("ファイルパス")
urlから画像をロード
image = ImageList.new("画像のurl")
2.13.4では動作を確認済み。古いRmagickではできない。Imageでも可能なのかは試していない。
角丸の画像への変換
RMagickで画像を影つき角丸四角に変換する - 画像処理についてあれこれグラディエーションをかける
RMagickでグラデーション画像を生成する - 画像処理についてあれこれシャープにする
image.sharpen(radius=0.0, sigma=1.0)
radiusは0にしておいてもsigmaの値に合わせて補正してくれるらしいです。
![]() |
オリジナル 48px |
![]() |
左から なし,1,3,0.3,0.2 |
48pxを32pxに縮小した後にsharpenのsigmaの値を変えながらかけてみました。
2015年2月6日金曜日
Model,Controller 逆引き
バリデーションのエラーメッセージをモデル全体につける
カラムにエラーメッセージをつけるのではなく、モデル全体に対するエラーをつける。
errors[:base]<< "これはモデルにつけたメッセージです"
エラー出力はメッセージがそのまま表示される。
UUIDを求める
SecureRandom.uuid
実行結果 "e03c17d9-b5cb-419b-bf1f-07959df2ea35"
RequestをModel内でも参照
Gem request_store を使用する。
Controllerで
RequestStore.store[:request] = request
Modelで
request = RequestStore.store[:request]
特定のカラムが更新されたか調べる?
update時にコールバックの中でカラムnameが変更された時のみ処理をしたい場合など_changed?をつける。
self.name_changed?
開発中にAssetsのログを出力したくない場合
Started GET "/assets/..../hoge.png" for 127.0.0.1...
のようなログが出てうっとうしい場合
group :development do
gem 'quiet_assets'
end
登録:
投稿 (Atom)