2013-01-01から1年間の記事一覧
前々から気になっていたので やろうとすること rails g scaffold user name:string email:string rake db:migrate している状態で、 GET /users の response code をチェックすること。 方法 rb ファイルに以下のソースを書く。実行する。 get.rb require 'n…
実行環境 CentOS 6.5, MySQL 5.1.71 root 権限になる $ su # MySQL サーバーを停止する # /etc/init.d/mysqld stop MySQL をセーフモードで実行 # /usr/bin/mysqld_safe --skip-grant-tables & mysql mysql root のパスを初期化する。 mysql> update user se…
私なりの解釈 mass assignment #=> assign すべきではない物もしてしまう仕組み及び方法 strong parameters #=> mass assignment を防ぐ手段 以下、詳しく 前置き 例えば User モデル(権限つき)の attribute が次の通りであるとする name:string, email:stri…
Devise に次いでの衝撃 Devise が認証機能を持たせる gem に対して、 cancan は認証後の権限を管理する gem 最終的にやること cancan を用いて 登録 email 権限ごとに挙動 を変化させること 前提条件 rails g devise user からの流れで ユーザー1 matsu@mats…
先ず無い 引用元 https://github.com/plataformatec/devise/wiki/How-To%3a-Allow-users-to-sign-in-with-something-other-than-their-email-address Important note: remember that even if you don’t want to sign in using email, you must have email in…
今回は ドキュメントに倣って項目を username にする 分類: 準備 Devise 用設定ファイルの作成 $ rails g devise:install =============================================================================== Some setup you must do manually if you haven'…
*. gem 'devise' rails 4系 は対応済だと *. rails g devise:install devise の設定ファイル(2つ)をインストしてくれる *. rails g devise (devise用新規 Model もしくは devise を適用したい既存のModel) よく使われるらしい User を Model にしておく (既…
Controller => app/assets/javascript/*.js.coffee の流れ(厳密には違うけど)で、コントローラーで設定した値を CoffeeScript に渡すことができる。 Gemfile gem 'gon' app/views/layouts/application.html.erb <%= include_gon %> # <= #### インクルードゴ…
concern を使って resources :user do get :search, on: :collection end resources :article do get :search, on: :collection end を concern :searching do get :search, on: :collection end resources :user, concerns: :searching resources :article,…
入れ子に「できる」ってのは喜ばしくも恐ろしい。用法用量との相談。 resources を nesting した中でさらに member や collection も定義できる。 Sampleapp::Application.routes.draw do resources :user do resources :session do get 'frequent', on: :co…
入れ子の resources 細かいかもしれないが Sampleapp::Application.routes.draw do resources :users do resources :session, :task end end 初めの nesting resources :session, :task これは、結果的に resources :session resources :task としたことに変…
member => ID(固有の値)を必要とする。紐づくオブジェクトの一つのメンバーになるから。 ex. 写真集のプレビューページ(5ページ目だとか、8ページ目だとか) collection => ID(固有の値)は必要としない。それ自体が単一のオブジェクトだから。 ex. 検索 resou…
namespace コントローラの数が増えてきて、下のように コントローラをディレクトリ分類したくなったときに使う。 controller/admin/task_controller.rb controller/user/task_controller.rb ... Sampleapp::Application.routes.draw do namespace :admin do …
3系 と 4系で違い scope の書き方が変更されている。 (lambda の処理が関係してそう) DEPRECATION WARNING: Using #scope without passing a callable object is deprecated. For example `scope :red, where(color: 'red')` should be changed to `scope :r…
ActiveRecord の new_record? まだ save されていない record だったら true を返す。 違っていれば false。 厳密には、一つのレコードに対するオブジェクトが ストア(保存) されていなければ true 違えば false https://github.com/rails/rails/blob/260471…
ActiveRecord::FinderMethods より モノが違うので一言では書けないです 概要 #find(*arg) 正常系処理 実引数の値はテーブルのプライマリーキーに対応していることを期待 甲. find(value) 値を WHERE 句で条件制約して SELECT する値がテーブル中に存在する…
前提情報 create_table "products", force: true do |t| t.string "title" t.text "description" t.string "image_url" t.decimal "price", precision: 8, scale: 2 t.datetime "created_at" t.datetime "updated_at" end class Product < ActiveRecord::Bas…
自身で改めて class Cart < ActiveModel has_many :line_items end class LineItems < ActiveModel belongs_to :cart end [1] Cart.new は OK Cart.build は NG [2] c = Cart.new して c.line_items.new, c.line_items.build は OK [3] そもそも build は ne…
概要 User のレコードに、存在しない session[:id] を find, find_by したとき User.find(999) #=> ActiveRecord::RecordNotFound User.find_by(id: 999) #=> nil になる。 ファインダ find id などの主キーに find する、ということは 目的のレコードが存在…
経緯 CoffeeScript で setInterval で 1秒ごとに起動するメソッドを作っていたとき setInterval(fooFunction, 1000) call しようとしたメソッド(本記事では fooFunctionとする)が、 Uncaught TypeError: Property fooFunction of object [object Window] is …
経緯 file foo.txt Non-ISO extended-ASCII text, with CRLF line terminators このファイル形式を Vim で読み込むと文字化けする。 一時的対応 Vim で読み込んだ後に、ノーマルモードから :e ++enc=sjis で対応完了 付随 何度やってきたかわからないけど、…
経緯 rails new foo して bundle install したら Unable to download data from https://rubygems.org/ - SSL_connect のようなエラーが出る 原因 rvm が最新版ではなかった 解決手順 rvm get stable して bundle install したら難なく ディストリ ごとに挙…
yum install した時 Transaction Check Error が出る 経緯 rpm 使って terminator terminal を入れようとしていた。 闇雲に rpm -Uivh terminatorの古いバージョンrpmパッケージ rpm -Uivh terminatorの新しいバージョンrpmパッケージ のようにガタガタして…
CentOS 日本語入力デスクトップのみ対応版 サラで入れると、Ctrl+Space などで日本語入力できないから、 次の手順を踏む(デスクトップ版のみの対応を見込む) 必須要素 root 権限 1. System > Administration > Add/Remove Software 1-1. iBus で検索 1-2. [I…
考えられる原因 1. Vim のバージョンが 7.38 未満 かつ 2. Vim の configure (言い回しに疑問有り) に --enable-luainterpre が設定されていなかった。 対策 1-0. 現vimをアンスト。 1-1. Vim をソースからインスト。 1-1-1. hg clone https://vim.googleco…