2016-01-01から1年間の記事一覧

deviseでのUser登録画面を他のテンプレートで使いたい時

$ rake routes user_registration POST / devise/registrations#create #ここがuser登録のパス new_user_registration GET /sign_up(.:format) devise/registrations#new edit_user_registration GET /profile(.:format) devise/registrations#edit <%= form…

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)

mysqlにアクセスできないエラーが出てハマったのでメモ $ rails db ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38) $ sudo mysql.server start Starting MySQL . ERROR! The server quit without updating…

カラムをinteger型に変えたところPG::DatatypeMismatch: ERRORが出た

$ rake db:migrateしたら以下のエラーが出ました PG::DatatypeMismatch: ERROR: column "hoge" cannot be cast automatically to type integer HINT: You might need to specify "USING hoge::integer". class ChangeTagInTask < ActiveRecord::Migration de…

Postgres 勉強メモ

構造1-ファイル群- <PGDATA> -PG_VERSION …PostgreSQLのバージョンを示したファイル -base …各データベースのデータ本体用のディレクトリ -global …データベースクラスタ共通用のディレクトリ -pg_clog …コミットログ格納用のディレクトリ -pg_hba.conf …HostBase認</pgdata>…

便利なunixコマンドまとめ

オライリーの入門unix を読んでみて、便利と思ったコマンドのメモ。 $ ls -a ファイルの一覧( aオプションで隠しフォルダも表示) .DS_Store .ssh .Trash .subversion .atom Applications .bash_history Desktop .bash_profile $ ls -al ( lオプションを追…

javascriptの第一歩

今までrailsで写経したjsは使ったことあるのですが、昨日初めて自分で0からjs書いたので備忘録。 今回はviewに直書きしました イメージはフォームに西暦を入れて異なるフォームに移った時に現在の西暦からフォームに書いた西暦の引き算イベントが発生するも…

クローラー memo

ウェブサービスを作るにあたり、どっかからデータを引っ張ってきてそれを反映させたいときにはクローリングを作ることで開発が劇的に効率化する。ただし、むやみにデータを引っ張ってくるのはアウトなので、デリケートに使わなければいけない。 参考書は Rub…

2つのカスタムバリデーターを1つのメソッド内で処理する方法

カスタムバリデーターは独自のバリデーションを作れるものです。 今まで一つのバリデータを作るたびに1ファイル作成してたのですが、大変非効率だと思っていた所先輩が教えてくれたので共有します。 モデルは銀行口座の管理を行うものです。bank_codeは銀行…

rake task の作り方, submoduleについて、バルクインサート(activerecord-import)の使用法 

Rake とは? RakeはRuby-Makeの略で、Rubyで何かを作ったり、定型的な処理をしたいときに役立ってくれるツール。 自分でWebサイトを作っているとして、いつもページを更新するたびにやらないといけない、定型的な処理があるとする。 この類の手作業は、Rubyを…

railsでgithubログインを実装する

githubにapplicationを追加する (githubにアクセス-> settings -> Oauth applications-> developer applicationのタブ内のresister new applicationをクリック) application名とurlとAuthorization callback URLにそれぞれ記入し作成(この時にのちに使うclie…

gemのfriendly_idを使ってみた

friendly_idを使うとurlが変わる 例えばrails特有の /projects/1 が/projects/homeworkとかに変わってくれる。 https://rubygems.org/gems/friendly_id/versions/5.1.0 gemfile gem 'friendly_id', '~> 5.1' $ rails g friendly_id $ rails g migration add_…

カスタムMarkdown機能を実装する方法

gemを使って簡単にmarkdown機能を実装していきます。 まずはgemfileに2つのgemを追加 markdownのgem redcarpet | RubyGems.org | your community gem host シンタックスハイライトのgem coderay | RubyGems.org | your community gem host Gemfile gem 'red…

備忘録

プレイスホルダー プレイスホルダー → パラメーターの置き場所。条件式に対して、実行時に任意のパラメーターを引き渡すことができる。 例) scope :active, -> { where('event_date >= ?', Date.today) } 設定されたイベント日を過ぎてしまったら、そのイベ…

最近使っていて便利だと思ったtryメソッド

これを初めて使った時率直にすげえーと思いました。今後使うことも多くなるだろうなと思い備忘録として簡単にまとめておきます。 try はメソッドが nil でなければ指定したメソッドを呼び出します。 例えば、よくありがちなuser.email としたいときに user.t…

ActionMailer 使い方

いきなりメール設定をしていく(今回はgmailを扱う前提) config/environments/development.rb config.action_mailer.raise_delivery_errors = true ← メールでエラーが出た時にログを出してくれる host = 'localhost:3000' config.action_mailer.default_url_…

CarrierWave の使い方 by チュートリアル11章

CarrierWaveとは画像をアップロードや画像リサイズができるgemのこと 早速実装方法を解説します。 1. gemfileに gem 'carrierwave' #アップローダー gem 'mini_magick'#リサイズ機能 gem 'fog'#本番環境に画像をアップする を追加。 2. $ bundle install 3. …

最近覚えたものを忘れないように大変雑にまとめていく

#テスト assert系 → 予期した結果 refute系 → 「〜にならないこと」 #FakerでDB上にサンプルUserを生成する 99.times do |n| name = Faker::Name.name email = "example-#{n+1}@rails.jp" password = "password" User.create!( name: name, email: email, …

備忘録  ||=

チュートリアル8章に登場する以下の文法を完全に理解しようという記事です。 def current_user @current_user ||= User.find_by(id: session[:user_id]) end #Userオブジェクトそのものの論理値は常にtrueになることです。そのおかげで、@current_userに何も…