Skip to main content

Learning Ruby on Rails

 1. Polymorphic Association
http://railscasts.com/episodes/154-polymorphic-association
http://guides.rubyonrails.org/association_basics.html#polymorphic-associations

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
http://guides.rubyonrails.org/association_basics.html#choosing-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.

3. execJs: 'Could not find a JavaScript runtime' error.

To add 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 80 or rvmsudo rails server -p 80 -d

To stop the process, check the process id by typing cat tmp/pids/server.pid and then kill -9 the returned value.

6. Some very useful toolboxes.
Devise https://github.com/plataformatec/devise
Omniauth https://github.com/intridea/omniauth
Paperclip(rely on imagemagick) https://github.com/thoughtbot/paperclip,etc.
Kramdown http://kramdown.rubyforge.org/



Comments

Popular posts from this blog

2018 New Year Resolution

This year, let me try to draft the new year resolution based on the Willpower Instinct: Step 1:  List down the best things of the past year. 1. I proposed to my fiancee when she and her mum visited Singapore in July. We were then registered as officially married on her birthday on 28th Nov in Beijing. It was really the most important event of my life so far. After years' of long distance relationship, we finally made it. Though it will still take her another half year before coming to Singapore, we were both thankful that we really made it. 2. I bought my own apartment. It was a tough process to look for properties. I was so happy when I received the keys. Before that, I shared with my bedroom with my room mates for 3+ years. 3. Fooyo's sales was quite satisfying. We has two big customers, one in the Tourism Industry and another in the Logistics Industry. The products we produced were pretty pioneering and beneficial to the industry.  4. Fooyo succ

Time to Write sth about the NOC Israel

After more than a month's waiting, I received an email today from the Financial Aid office saying that I am not permitted to go for the NOC Israel programme.  Dear Shaohuan I refer to your appeal to participate in NUS Overseas College (NOC) Israel.   As spoken on 6 November 2012, we understand that you are very eager to attend the NOC and we had submitted your appeal, together with the appeal from NOC to the sponsor.  However, we regret to inform you that your appeal to participate in NOC Israel is not successful.   The sponsor has advised that you look for an internship locally instead, if needed.   We wish you all the best.  Actually, I was informed by the NOC coordinator that she has been informed by her colleagues that the sponsor officially rejected my appeal(together with Prof.Ben's and NOC's appeals) on 21st Nov. She tried to confirm with her colleagues whether the decision is final or not, hoping to help me for the last try. However, I guess the result won't b

IPAD/FB Seminar- Thoughts on Pulse News

Monday's presentation was full of interesting sparks. Of all the eleven teams, only one chose to present FB app, which is Sims Social. The others all chose to present ipad apps. That's not so surprising as Ipad(Tablets) is the most recent platform and there are a lot of blank spaces for us to fill in. The ten ipad apps shared in the seminar covers various fields like e-payment, news-media, education. What surprised me most is that many of us find education a very promising area for mobile app development...As ipads are being utilized as an educational tools in various educational levels, education is really going to be a great pie. Wait, I need to finish comments for my assigned app first. Pulse News, a news media app with good social features. News media are getting more social and mobile and probably "cloudy" in the recently years. Organizing news media contents can be a promising area since there are always interesting things happening around and people just have