avosalmonのブログ

プログラミングやWebデザイン、DTMについて調べたことをメモってます。プログラマー兼ベーシストです。

Rails

【Rails】active_adminでwysiygエディタを使用する方法

# Gemfile gem 'activeadmin-dragonfly', github: 'stefanoverna/activeadmin-dragonfly' gem 'activeadmin-wysihtml5', github: 'stefanoverna/activeadmin-wysihtml5'$ bundle install $ rake activeadmin_wysihtml5:install:migrations $ rake db:migrate…

【Rails】form_forの中身をpartialにするときの注意点

f変数をrenderメソッドの第2引数に渡す必要がある。 <%= form_for(@user) do |f| %> <%= render 'fields', f: f %> <%= f.submit "Create my account" %> <% end %> _fields.html.erb <%= f.label :name %> <%= f.text_field :name %> <%= f.label :email %> …

【Rails4】active_admin+PaperClipでhas_manyなform

itemモデル has_many :item_image item_imageモデル belongs_to :item【Rails】PaperClip + active_adminで画像をアップロード - avosalmonのブログ 上の記事で、itemモデルが複数のitem_imageを持つ(has_many)場合、active_adminのitem登録画面で複数のit…

【Rails4】deviseとactive_adminで一般ユーザーと管理者ユーザーを作成

先にactive_adminで管理者ユーザー作成(deviseもインストールされる) Rails4でActiveAdminを使ってみる - zakihayaメモ 次にdeviceで一般ユーザー作成 Rails4 にて Devise でユーザー登録・ログイン認証・認可の機能を追加 | EasyRamble 一般ユーザーのフ…

【Rails】PaperClip + active_adminで画像をアップロード

PaperClipを使うためにはImageMagikが必要なので、インストールされていない場合はインストールする。 # MacのHomeBrewでインストールする場合 brew install imagemagick Gemfile gem 'paperclip', '~> 4.1' Migration rails g migration AddFileUploadToIte…

【Rails】active_adminでモデルのカラム名にcountryを使うとエラー

active_adminで管理しているモデルに"country"を含むカラムがあると以下のようなエラーが出ます。 ActionView::Template::Error (To use the :country input, please install a country_select plugin, like this one: https://github.com/jamesds/country-s…

【Rails】deviseを日本語対応した

config/application.rb config.i18n.default_locale = :ja config/locales/devise.ja.ymlを作成し、以下を記入。 # Additional translations at https://github.com/plataformatec/devise/wiki/I18n ja: devise: confirmations: confirmed: "アカウントの確…

【Rails】date_selectで"undefined method for translation missing ja date order string"

Viewで下記のようにdate_selectを使うと、i18nの日本語設定が足りずエラーが出た。 <%= f.date_select(:birthday, {:use_month_numbers=>true, :start_year=>1930, :end_year => Time.now.year, :default =>'1990-1-1'.to_date}, {:class => ["form-control"…

【Rails】active_adminとwill_paginateを同時に使うとNoMethodError

Railsでactive_adminを導入し、管理ページからAdmin Users等のリソース一覧のリンクをクリックすると以下のエラーが出た。 NoMethodError (undefined method `per' for #<ActiveRecord::Relation::ActiveRecord_Relation_AdminUser:0x007fb64c4bce40>): どうも、will_paginateとactive_adminを同時に使おうとすると出るエラーみたい。 解</activerecord::relation::activerecord_relation_adminuser:0x007fb64c4bce40>…

Railsでcontrollerやmodelを削除する方法

Controller削除 rails destroy controller コントローラ名 Model削除 rails destroy model モデル名

Railsでページネーションを導入する

Railsでページネーションを導入する方法を調べました。 will_paginateというgemを使うと簡単に実装できました。Gemfile gem 'will_paginate' gem 'bootstrap-will_paginate' Controller class MembersController < ApplicationController def index @members…

【Rails】Helperメソッドをcontroller内で使用できるようにする

RailsのHelperメソッドは、デフォルトでView内で使用することができるが、controller内では使用することができない。これをcontroller内でも使用できるようにするには、application_controller.rbでHelperをincludeしてやれば良い。 class ApplicationContro…

【Rails】flashとflash.nowの違い

flashとflash.nowではflashメッセージの有効期間が異なります。 flash 次のHTTPリクエストまでメッセージが有効。 次のリクエストが終了した時点でメッセージは消える。 redirect_toした先の画面でメッセージを表示したい時に使用する。 flash.now 現在のHTT…

【Rails】都道府県を扱うgem

フォームのselectタグで都道府県を扱う場合、collection_selectを使っても DBに都道府県のマスタを登録しておく必要があるので面倒です。jp_prefectureというgemを使うと、DBにマスタを登録せずに都道府県を簡単に扱うことができます。 こんな感じでJpPrefec…

【Railsメモ】selectの選択肢をデータベースに用意する

formのcollection_selectを使用する。 詳細は下記の記事が分かりやすいです。プルダウンメニュー(select_tag)の中身をデータベースに用意する - Rails つまみぐい

【Railsメモ】formのf.data_selectで誕生日を「◯年◯月◯日生まれ」の形式で表示

Railsのdata_selectって便利やね。railsのf.data_selectで誕生日を「◯年◯月◯日生まれ」の形式で表示 - Qiita

[Rails4] DBに暗号化されたパスワードを保存する

暗号化されたパスワード用のカラム名をpassword_digestにするmigration例 class AddPasswordDigestToUsers < ActiveRecord::Migration def change add_column :users, :password_digest, :string end end 暗号化用のハッシュ関数として、bcrypt-rubyをGemfil…

[Rails4]Turbolinksで$(document).ready()がトリガーされない

Rails4ではデフォルトでTurbolinksという機能がONになっている。これを使っていると、ページ遷移時に、jQueryの$(document).ready()がトリガーされないという問題が発生する。 解決方法 jquery-turbolinksというgemを使う Gemfile gem 'jquery-turbolinks' a…

[Rails]form_forのf.text_fieldでplaceholderを表示する方法

:placeholderオプションを付けるだけ。 <%= f.text_field :email, :placeholder => "Enter your email..." %>

【Rails】renderとredirect_toの違い

render controllerで処理した結果の出力先Viewを指定する controllerのインスタンス変数は、そのままViewに渡される redirect_to 指定したcontroller、actionに再度リクエストを送信 controllerのインスタンス変数は、リダイレクト先で新たに生成 参考記事 […

Rails4でTwitterBootstrap3を導入する方法

Gemfileにbootstrap-sassを追加。(バージョンは適宜指定) gem 'bootstrap-sass', '3.0.2.0' bundle install bundle install --path vendor/bundle config/application.rb に下記の一行を追加。 BootstrapとAssetPipelineの互換性のため必要らしい。 config…