Heroku database로 local database 세팅하기
Sep 21, 16
0.Codes first heroku pg:backups capture curl -o latest.dump `heroku pg:backups public-url` bin/rake db:reset pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump 1. Heroku version 확인 legacy heroku gem을 사용하고 있다면, gem을 제거하고 Heroku CLI를 다시 설치해야 합니다. legacy heroku gem 제거 : gem uninstall heroku --all Heroku toolbelk 설치 https://devcenter.heroku.com/articles/heroku-command-line 2. Heroku db dump-out CLI를 이용한 방법 (heroku version: 3.43.12) heroku pg:backups capture curl -o latest.dump `heroku pg:backups public-url` heroku.com을 이용한...
Capybara Summary
Sep 20, 16
regex 사용 expect(page.text).to match(/regex/) select tag에서 option 선택 http://stackoverflow.com/questions/20134085/how-to-select-option-in-drop-down-using-capybara Race problem AJAX로 database에 record를 생성하는 경우 하는 경우 race problem이 발생한다. ajax가 완료될 때까지 기다리는 helper를 만들어서 사용한다. # spec/support/wait_for_ajax.rb module WaitForAjax def wait_for_ajax Timeout.timeout(Capybara.default_max_wait_time) do loop until finished_all_ajax_requests? end end def finished_all_ajax_requests? page.evaluate_script('jQuery.active').zero? end end RSpec.configure do |config| config.include WaitForAjax, type: :feature end 사용법 expect{ find('#create_button').click wait_for_ajax }.to change(Item, :count).by(1) Param을 제외한 url만 테스트 expect(page).to have_current_path(people_path, only_path: true) Fill_in HTML spec fill_in “name_input” http://stackoverflow.com/questions/5228371/how-to-get-current-path-with-query-string-using-capybara...
Development DB를 Postresql로 세팅
Sep 17, 16
pg install
http://postgresapp.com/
pg user 확인
psql
\du : 유저 리스트
\l : database 리스트
\connect [database_name]
\dt : 연결된 database의 table 리스트
Gemfile
gme ‘pg’
datbase.yml
development:
adapter: postgresql
encoding: unicode
database: pnm_development
pool: 5
timeout: 5000
Console
bin/rake db:create
or
bin/rake db:reset
Heroku dump db를 local에 import
pg_restore –verbose –clean –no-acl –no-owner -h localhost -U myuser -d pnm_development latest.dump
https://devcenter.heroku.com/articles/heroku-postgres-import-export#restore-to-local-database
Rails4 - nested form
Sep 13, 16
육아는 아이템전을 만들면서 사용한 nested form에 대해 정리해 둔다. Parenting_neees_money에서 각 Item은 여러개의 keyword를 가지고 있고, keyword는 여러개의 data 로그를 가지고 있다. class Item < ActiveRecord::Base has_many :keywords, dependent: :destroy end class Keyword < ActiveRecord::Base belongs_to :item has_many :logs, dependent: :destroy end class Logs < ActiveRecord::Base belongs_to :keyword end Item을 추가하는 form에서 keyword도 추가하고 싶고, keyword에 대한 log도 3rd party api를 통해 가져와서 생성해야 했다. Rails에서는 form에 association을 위한 field를 만들 수 있다. 우선 Item...
Rails4 User Login - 처음부터
Sep 10, 16
[Michael Hartl의 Rails tutorial][railstutorial] 에 나온 user login 기능 부분을 정리해 본다. User model 생성 rails generate model User name:string email:string Validation 추가 class User < ApplicationRecord before_save { email.downcase! } validates :name, presence: true, length: { maximum: 50 } VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i validates :email, presence: true, length: { maximum: 255 }, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false } end Email에 대해 index 추가 rails generate migration add_index_to_users_email class AddIndexToUsersEmail < ActiveRecord::Migration[5.0]...