$ rails g model User
belongs_to
has_one
| <% articles.each_slice(4) do |four_articles| %> | |
| <div class="row"> | |
| <% four_articles.each do |article| %> | |
| <%= render 'garments/article', article: article, garment: @garment %> | |
| <% end %> | |
| </div> | |
| <% end %> |
| # Temporarily redirects STDOUT and STDERR to /dev/null | |
| # but does print exceptions should there occur any. | |
| # Call as: | |
| # suppress_output { puts 'never printed' } | |
| # | |
| def suppress_output | |
| original_stderr = $stderr.clone | |
| original_stdout = $stdout.clone | |
| $stderr.reopen(File.new('/dev/null', 'w')) | |
| $stdout.reopen(File.new('/dev/null', 'w')) |
| - Check rails version | |
| $ rails -v | |
| - To update rails | |
| $ gem update rails | |
| - Creating a new rails app using postgresql | |
| $ mkdir rails_projects | |
| $ cd rails_projects | |
| $ rails new myapp --database=postgresql |
| #Model | |
| @user.should have(1).error_on(:username) # Checks whether there is an error in username | |
| @user.errors[:username].should include("can't be blank") # check for the error message | |
| #Rendering | |
| response.should render_template(:index) | |
| #Redirecting | |
| response.should redirect_to(movies_path) |
| ## Prepare ################################################################### | |
| # Remove RVM | |
| rvm implode | |
| # Ensure your homebrew is working properly and up to date | |
| brew doctor | |
| brew update | |
| ## Install ################################################################### |
| # Dealing with namespaces in Nokogiri. | |
| # | |
| # First thing you must do is abandon what you're used to with Builder, | |
| # namespaces aren't just attributes on an element, they uniquely identify | |
| # what sort of element you are building and, as such, you are better off | |
| # specifying them manually. | |
| # | |
| # The key here is accessing the Nokogiri::XML::Element being built with | |
| # b.parent, then you can set the namespace (distinguished by an element | |
| # with a prefix such as "soap12:Envelope") or add a default namespace |
| =Navigating= | |
| visit('/projects') | |
| visit(post_comments_path(post)) | |
| =Clicking links and buttons= | |
| click_link('id-of-link') | |
| click_link('Link Text') | |
| click_button('Save') | |
| click('Link Text') # Click either a link or a button | |
| click('Button Value') |