Rails
すごく簡単に検索機能を実装できるというransack。 metasearchというGemの後継らしい。 ちょうど検索を実装する案件があったので、試しに使ってみた。 流れ ransack導入 searchメソッド(DSL)の実装 ransackable_scopesで柔軟な検索実装 前提 Authorモデルの…
概要 前回の記事では、ajaxを実現するためのファイル構成は以下のようになっていた。 - controllers - photo_controller.rb - views - photo - new.html.slim - new.js.slim - _add_photo_form.html.slim 例えばviews内にjsファイルを配置するのではなく、な…
railsでユーザー登録機能をつける際は勝手に色々とユーザー登録周りの機能を付けてくれるDeviseを普段よく使ってる。 しかし、少しレールから外れたことをしようとすると、Deviseのソースをoverrideしたり、直接さわらないといけなかったりと結構面倒くさい…
seeds関連ファイルの階層化 初期の状態だとdb/seeds.rbだけを読み込んで実行するいという流れだが、テーブル数や登録するレコード数が多かったりすることで行数が長くなり、管理がしにくくなってしまう。 そのため、下記のようにRailsの環境で階層化し、その…
やりたいこと Deviseにはデフォルトでユーザーの削除機能がついているが、論理削除機能は残念ながらついていない。 userテーブルが多くのリレーション関係を持っている場合は、物理削除だと色々とややこしくなるので、Deviseを使った状態で論理削除を実装で…
やりたいこと deviseのモデルにusername等、カスタムフィールドを追加したい場合がる。 rails3系では単純にカラムを追加し、attr_accessibleでアクセスできるようにすればよかったが、rails4系からはattr_accessibleは非推奨になっていて、その代わりにcontr…
rails4.2で簡単な検索フォームを作ったのだが、テキストフィールドで検索すると下記のエラーが発生。 rails3系の時はこんな現象おきなかったがなぜだろう、、 rails incompatible character encodings: ASCII-8BIT and UTF-8 = form_for @search_form,:url =…
Rails4.1系でのproductionモードで起動する手順を簡単にまとめた。 データベースの設定 production用のDB接続情報を追記 default: &default adapter: mysql2 encoding: utf8 pool: 5 timeout: 5000 production: <