Rails HABTM convention과 다른 table을 이용하기
0 has_and_belongs_to_many :watching, :class_name=>"Person", :join_table => :watch_people_projects solution credit
Rails 개발환경 설정 하기
bundler 설치 echo "gem: --no-rdoc --no-ri" >> ~/.gemrc > gem install bundler gem 설치 > bundle install gem 설치 - PG 관련 에러 Installing pg 0.17.1 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /Users/sgwanlee/.rbenv/versions/2.2.5/bin/ruby -r ./siteconf20180527-43505-1g6vboj.rb. extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header *** extconf.rb failed *** Could not create Makefile due...
AWS RDS를 로컬에 복사하기
Change your database RDS instance security group to allow your machine to access it. Add your ip to the security group to acces the instance via Postgres. Make a copy of the database using pg_dump $ pg_dump -h <public dns> -U <my username> -f <name of dump file .sql> <name of my database> you will be asked for postgressql password. a dump file(.sql) will be created Restore that dump file to your local database. but...
Google Chart 로 그래프 그리기
Gem ‘google_visualr’ Google chart를 사용할 수 있는 gem이 여러개 있는데, 그중에 google_visualr를 사용한 이유는 ‘stepped_area_chart’ 같은 새로운 chart를 지원하고 있는 gem이어서 선택하게 되었다. 사용법은 간단한데, datatable에 data를 넣고 option을 설정하고 원하는 차트 class의 object를 만들 때, data_table과 option을 넘겨주고 view에서는 render_chart를 data_table = GoogleVisualr::DataTable.new data_table.new_column('string', 'date') data_table.new_column('number', 'rank') data_table.add_rows(rows) option = {...} @chart = GoogleVisualr::Interactive::SteppedAreaChart.new(data_table, option) respond_to do |format| format.js end $('.item-ranks__chart').append('<%= j render_chart(@chart, "item-ranks__chart") %>'); ---
Javascript - Namespace 사용하기
Anti-Pattern : glbal variable 당연시 되어야 될 click event가 동자하지 않았다. 이유는 다른 파일이지만 같은 함수명을 사용하였기 때문! 모든 함수를 전역변수로 설정해서 사용했기에 일어나는 문제다. //a.js var add_to_checklist = function(){ $('.footer__checklist__link').click( function(e) { e.preventDefault(); console.log("A"); }); } //b.js var add_to_checklist = function(){ $('.header__checklist__link').click( function(e) { e.preventDefault(); console.log("B"); }); } // event handling add_to_checklist(); // not working. // from a.js? from b.js? NameSpace NameSpace를 설정하면, 같은 함수명을 사용해도 겹치지 않게 사용할 수 있다. 사실 Javascript 코드...