1. Polymorphic Association
For instance, a book can be liked and a video can also be liked. To make a generalised association which can like both a book an a video, we can simply make a polymorphic association named likeable which contains the likable_type and likable_id.
2. Choose between has_many :through and has_and_belongs_to_many
For instance, a book has many tags and a tag can be associated with many books. To make a simple many-to-many relationship, we can simply use has_and_belongs_to_many. However, to create an indirect association through a joint model, we can use has_many:through.
gem 'execjs' gem 'therubyracer'in the gem file.
4. gem mysql sometimes triggers the following error:"incompatible character encodings: UTF-8 and ASCII-8BIT". Instead of using mysql, we need to use mysql2 which solved the problem. To install mysql2, you'll probably need to install the following package
sudo apt-get install mysql-client libmysqlclient-dev
5. To run rails app on port 80, the following command should be used
rvmsudo rails server -p 80or
rvmsudo rails server -p 80 -d
To stop the process, check the process id by typing
cat tmp/pids/server.pidand then
kill -9the returned value.
6. Some very useful toolboxes.
Paperclip(rely on imagemagick) https://github.com/thoughtbot/paperclip,etc.