├── .gitignore ├── 404.html ├── Gemfile ├── Gemfile.lock ├── Rakefile ├── _config.yml ├── _includes ├── footer.html ├── google.html └── navigation.html ├── _layouts └── default.html ├── community └── index.html ├── conduct └── index.html ├── core ├── alumni │ └── index.html └── index.html ├── deploy └── index.html ├── documentation └── index.html ├── download └── index.html ├── favicon.ico ├── images ├── applications │ ├── bcx.gif │ ├── github.jpg │ ├── shopify.jpg │ └── twitter.jpg ├── basecamp.png ├── herobackground.gif ├── pages │ ├── core │ │ ├── aaron.png │ │ ├── alumni │ │ │ ├── florian.jpg │ │ │ ├── jamis.jpg │ │ │ ├── marcel_molina.jpg │ │ │ ├── nicholas.jpg │ │ │ ├── rick.png │ │ │ ├── sam.jpg │ │ │ ├── scott.jpg │ │ │ ├── thomas_fuchs.jpg │ │ │ └── tobi.jpg │ │ ├── andrew-white.jpg │ │ ├── carl.jpg │ │ ├── carlos-antonio.jpg │ │ ├── david.jpg │ │ ├── godfrey.jpg │ │ ├── guillermo-iguaran.jpg │ │ ├── jeremy.jpg │ │ ├── jonleighton.jpg │ │ ├── jose.png │ │ ├── koz.jpg │ │ ├── pic1218916611.jpg │ │ ├── pratik.jpg │ │ ├── rafaelfranca.jpg │ │ ├── santiago.jpg │ │ ├── senny.png │ │ ├── xavier.png │ │ └── yehuda.jpg │ ├── deploy │ │ ├── capistrano.jpg │ │ ├── duke.jpg │ │ ├── mongrel.jpg │ │ └── passenger.png │ ├── documentation │ │ ├── awdr4.png │ │ ├── chunkybacon.gif │ │ └── cra-mini.png │ ├── download │ │ └── ruby.png │ ├── overview │ │ ├── download42.png │ │ ├── participate.gif │ │ └── screencasts2.png │ └── screencasts │ │ ├── Rails_for_Zombies-2.jpg │ │ ├── rails4_zombie_outlaws.jpg │ │ └── railscasts.png ├── rails.png ├── rss.png └── topbluefade.gif ├── index.html ├── quotes └── index.html ├── robots.txt ├── screencasts └── index.html ├── security └── index.html └── styles.css /.gitignore: -------------------------------------------------------------------------------- 1 | _site/* 2 | .bundle 3 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Not Found" 3 | header: "Web development that doesn’t hurt" 4 | subheader_1: "Ruby on Rails® is an open-source web framework that’s optimized for" 5 | subheader_2: "programmer happiness and sustainable productivity. It lets you write" 6 | subheader_3: "beautiful code by favoring convention over configuration." 7 | --- 8 |
15 | Ruby on Rails Talk is where 16 | Rails users come to seek help, announce projects, and discuss 17 | all kind of matters surrounding the framework and the community. If you’re working on a patch, 18 | you can raise issues on the core list. 19 | Finally, there’s the security 20 | announcement list for critical patches. 21 |
22 |31 | Follow along what people are 32 | saying about Rails on Twitter. It’s a direct hook into the pulse of Rails. 33 |
34 |43 | Sometimes it’s just easier to get help or discuss matters 44 | in real time. The #rubyonrails channel on irc.freenode.net 45 | allows for just that. Try #rails-contrib if you want help or discuss your 46 | patch to Rails itself. 47 |
48 |15 | As contributors and maintainers of this project, and in the interest of 16 | fostering an open and welcoming community, we pledge to respect all people 17 | who contribute through reporting issues, posting feature requests, updating 18 | documentation, submitting pull requests or patches, and other activities. 19 |
20 | 21 |22 | We are committed to making participation in this project a harassment-free 23 | experience for everyone, regardless of level of experience, gender, gender 24 | identity and expression, sexual orientation, disability, personal appearance, 25 | body size, race, ethnicity, age, religion, or nationality. 26 |
27 | 28 |29 | Examples of unacceptable behavior by participants include: 30 |
31 | 32 |42 | The Rails core team have the right and responsibility to remove, edit, or 43 | reject comments, commits, code, wiki edits, issues, and other contributions 44 | that are not aligned to this Code of Conduct. 45 |
46 | 47 |48 | We commit to fairly and consistently applying these principles to every aspect 49 | of managing this project. Project maintainers who do not follow or enforce the 50 | Code of Conduct may be permanently removed from the project team. 51 |
52 | 53 |54 | This code of conduct applies both within project spaces and in public spaces 55 | when an individual is representing the project or its community. 56 |
57 | 58 |59 | This Code of Conduct is adapted from the Contributor Covenant, version 1.2.0. 60 |
61 |70 | Instances of abusive, harassing, or otherwise unacceptable behavior should be 71 | reported by sending an email to conduct@rubyonrails.org. 72 | We are here to help. 73 |
74 |83 | For a history of updates and revisions to this policy, see the page history. 84 |
85 |15 | Yehuda Katz is a member of the Ember.js and 16 | jQuery Core Teams; during the daytime, he works at Tilde. 17 | Yehuda is the co-author of the best-selling jQuery in Action, Rails 3 in Action, 18 | and is a contributor to Ruby in Practice. He blogs at yehudakatz.com 19 | and can be found on Twitter as @wycats. 20 |
21 |30 | Jon Leighton is Tech Director at Loco2. 31 | During his time on the core team he did a bunch of work on Active Record and created the 32 | Spring preloader. These days he spends lots 33 | of time rock climbing. You can follow 34 | @jonleighton. 35 |
36 |45 | Josh Peek (joshp) has been working with almost all parts of Rails. A lot of work spent on performance and thread safety for Action Pack. Josh works at GitHub. 46 |
47 |56 | Carl Lerche is a Platform Architect at Strobe, where he runs a top-notch product engineering team and hacks on Strobe Platform. He’s been programming for as long as he can remember, and focused on Ruby development since 2005. He is a member of the Ruby on Rails Core Team and speaker at numerous industry conferences and events. He lives in downtown San Francisco and has a fondness for quality Belgian Beers... and pie. Follow him on Twitter at @carllerche. 57 |
58 |67 | Pratik Naik (lifo) stumbled upon Rails back in 2006 while in search 68 | for a better web framework after 2 painful years with perl/mod_perl. He hasn’t looked back since then. Currently located in London, he is an employee of Basecamp and maintains a personal blog at http://m.onkey.org. 69 |
70 |79 | Jamis Buck (minam) is a repentant Java programmer who never really enjoyed Java, but who finally found web-programming joy in Rails. 80 | He is an avid Ruby programmer, having contributed several packages to the community (including Net::SSH, 81 | Net::SFTP, Syntax, 82 | sqlite-ruby, sqlite3-ruby, 83 | SwitchTower and others). 84 | He lives with his wife Tarasine and four children in Idaho. 85 |
86 |95 | Marcel Molina Jr. (noradio) is a language enthusiast 96 | who went from being a literature major to a programmer. In his transition from 97 | natural language to machine language he found Ruby an elegant balance of 98 | dynamic, pragmatic and “humane”. And then came along Rails… Marcel works at 99 | twitter and tumblelogs at Projectionist. 100 |
101 |110 | Nicholas Seckar (ulysses) is a student and software engineer living in Toronto, Canada. 111 | Nicholas has been contributing to Ruby and Rails since Fall 2004, with numerous bug fixes and new features such as Routing. 112 | He has been a developer on Measure Map since August 2005. He is currently completing his undergraduate degree 113 | at the University of Toronto, while also working for Google in their Toronto engineering department. 114 |
115 |124 | Florian Weber (csshsh) began using Rails in early 2004. Since then he’s played an integral role in several Rails-based projects. He developed the CMS and webshop for bellybutton.de, and later worked on Odeo. In Spring 2006 he began working on Twitter as lead developer. At the moment, he is living in Berlin, Germany and working as a software developer. 125 |
126 |135 | Sam Stephenson (sam-) is a fan of dynamic languages who found Ruby just six months before Rails’ first release. In February of 2005, 136 | he released the Prototype JavaScript library, which provides the foundation for Ajax support in Rails. Sam lives in Chicago, 137 | works for Basecamp, and tumblelogs on Projectionist. 138 |
139 |148 | Scott Barron (htonl) was set to swear off computers forever and become a plumber when Rails was released. 149 | He immediately found salvation in the warm embrace of Ruby and has never looked back. He currently practices 150 | Rails by working for EdgeCase. 151 |
152 |161 | Thomas Fuchs (madrobby) is a Web and JavaScript guru from Vienna, Austria. He is the author of script.aculo.us, a cross-browser JavaScript User Interface framework and he keeps busy as a core team member of the Prototype JavaScript framework, used by thousands of websites. He’s available for hire as a consultant for rich web user interfaces and JavaScript. 162 |
163 |172 | Tobias Lütke (xal) encountered Rails while struggling to find technology for his new company. 173 | Once found, he quickly ported the bits and pieces of his code over to Ruby which later became 174 | the first rails based e-commerce store “Snowdevil”. Tobi is a partner at JadedPixel and is 175 | frantically working on Shopify which is the continuation of the Snowdevil code base. 176 | Over time, Tobi released many open source projects such as Typo, Hieraki, 177 | and Liquid. 178 |
179 |188 | Rick Olson (technoweenie) blames Ruby on Rails for 189 | destroying his ASP.Net career. He’s been using Rails actively since 2005 and is now working 190 | at Github. 191 | He’s also released several open source projects, such as Mephisto, Beast, along 192 | with numerous plugins. 193 |
194 |15 | David Heinemeier Hansson extracted Ruby on Rails from his 16 | work on Basecamp. He released the 17 | framework as open source in July of 2004, but didn’t share the commit rights 18 | until February of 2005. He’s infamous for his ruthless delegation, which is 19 | often executed as a request to “Please Do Investigate”. He’s a partner at 20 | Basecamp, his personal page is 21 | heinemeierhansson.com, 22 | and you can follow him on Twitter @dhh. 23 |
24 |33 | Jeremy Daer is a programmer at Basecamp 34 | hailing from Pasadena, California. 35 | Hot on the heels of DHH, he has been the most active contributor to Rails. He’s knee deep 36 | in pretty much all aspects of the framework and one of the top batters against new, 37 | incoming tickets. You can follow him on Twitter @bitsweat. 38 |
39 |48 | Michael Koziarski is a software consultant 49 | based in Wellington, New Zealand. After a successful stint as an enterprise Java 50 | developer, he switched to rails shortly after the first public release. He’s a 51 | contributor to The Rails Way and 52 | maintains a personal blog. 53 |
54 |63 | José Valim is the lead-developer and co-founder of Plataformatec. 64 | He started working with Rails in late 2006 and began contributing actively after 65 | his Google Summer of Code project in 2009. He’s frequently flying between Brazil 66 | and Poland, some say that it is his “eureka” time to code and bring new 67 | open-source projects to life. Check for 68 | yourself what he’s up to on his company’s blog. 69 |
70 |79 | Santiago Pastorino is the co-founder & CTO of 80 | WyeWorks. He started 81 | working with Ruby and Rails in the middle of 2008 after years of Java development. 82 | He is always trying to work as much as he can on OSS and to write on 83 | his company’s blog. Follow him on Twitter at 84 | @spastorino. 85 |
86 |95 | By day, Aaron Patterson (tenderlove) is a mild mannered programmer for 96 | Red Hat whose Ruby code 97 | is almost as good looking as him. By night, he dons his Pink Warrior suit which gives him 98 | the power to contribute to many Open Source projects such as nokogiri, 99 | Ruby, and Rails. If you have seen someone kissing Matz or DHH at a conference, 100 | it was probably him. You can find him on twitter, 101 | or read his blog. 102 |
103 |112 | Xavier Noria is an everlasting student and father of the most wonderful girl, 113 | as the picture to the left clearly demonstrates QED. An independent 114 | Ruby on Rails consultant from Barcelona, Xavier has worked with Rails since 2005. He wrote 115 | Rails Contributors and has been a regular contributor 116 | for years. Honored to have been presented a Ruby Hero Award. 117 | Xavier is @fxn on Twitter. 118 |
119 |128 | Rafael França is a member of Shopify's 129 | development team. He has worked full time with Rails since 2010 and has been contributing 130 | to the framework since the beginning of 2012. As a result of being passionate with OSS, 131 | he performs a key role in maintaining 132 | Simple Form) and also contributes 133 | to many other projects. Follow him on Twitter, 134 | on Github. 135 |
136 |145 | Andrew White is the CTO of Unboxed Consulting, 146 | London’s premier Ruby on Rails development team and specialists in Agile & Lean Startup techniques. He has 147 | been contributing to Rails since 2007 and has been producing open source software since 1997. You can follow 148 | him on Twitter and GitHub. 149 |
150 |159 | Guillermo Iguaran began using Ruby in 2008 and has been working 160 | with Rails since 2009. He started contributing to Rails framework and open-source 161 | world in 2011. Guillermo is from Colombia and right now he’s working as Software Engineer at Ride, 162 | and completing his Computer Sciences master’s degree. You can follow him on Twitter or 163 | Github. 164 |
173 | Carlos Antonio is a software developer at You Need A Budget (YNAB). 174 | He started working with Ruby and Rails in late 2007, and since then he has become an 175 | Open Source lover, contributing to many different projects, and maintaining libraries like 176 | Simple Form 177 | and Devise. 178 | His motto is Hacking Beautiful Code. 179 | You can follow him on Twitter, 180 | or check his Github.
181 |190 | Yves Senn is a software developer at 4teamwork from Bern, Switzerland. 191 | Working with Java he started experimenting with Rails in 2008 and began contributing in 2012. 192 | He loves to hack on Open Source projects and is organizing local meetups. 193 | Yves is @senny on GitHub and you can follow him on Twitter. 194 |
195 |204 | Godfrey Chan is a staff engineer at Tilde based in Portland, Oregon. 205 | He began contributing to Rails in 2012. In addition to his code contributions, he enjoys connecting with others in the 206 | community through speaking at conferences, 207 | volunteering for RailsBridge and sending newsletters. 208 | You can follow him on Twitter or Github. 209 |
210 |216 | Rails core members who are no longer active in the day-to-day stuff have been immortalized as core alumni. 217 |
218 |
15 |
16 | The easiest deployment setup for Rails is Phusion Passenger aka mod_rails. It’s a module for nginx and Apache that automatically manages the back end. Just setup, launch, and enjoy.
17 |
51 |
52 | Capistrano brings deployment automation to Rails whether you’re working with a single server or on a cluster of dozens. It was extracted from the Basecamp tool chain (like Rails) by core alumni Jamis Buck.
53 |
63 | While Rails hosting is now common place, there’s a handful of dedicated Rails hosting companies that have been around for a long time and supporting the community: Heroku, Rails Machine, Brightbox, and Engine Yard. If you’re just looking for a VPS, we recommend Rackspace (who gracefully donated slices for us to run Rails infrastructure on) or Linode. 64 |
65 |15 | If you’re just getting started or want to learn about Rails in general, check 16 | the Rails Guides. 17 |
18 |38 | Agile Web 40 | Development with Rails will teach you all you need to know about Ruby and Rails 4 to build 41 | killer web applications. For more advanced material, Rails core member José Valim has written 42 | Crafting Rails 4 Applications. 43 |
44 | 49 |50 | See all the other Ruby on Rails books at Amazon. 51 |
52 |
61 |
62 | why’s (poignant) guide to Ruby
63 | is unlike any other guide to programming you have ever read. It features talking foxes,
64 | bizarre sidebars, and more crazy humor than most people can handle without loud chuckles.
65 |
15 |
16 | We recommend Ruby 2.2 or newer for use with Rails.
17 | Rails requires Ruby 1.9.3 or newer.
18 |
20 | Source: Compile it yourself
21 | Windows installer: Ruby, popular extensions, editor
22 | OS X 10.5+: Included with developer tools
(then do gem update rails
)
23 |
25 | We recommend managing your Ruby installation through rbenv. It’s an easy way to run multiple versions for different applications and update when a new release is made. 26 |
27 |36 | With Ruby installed, you can install all of Rails and its dependencies through RubyGems on the command line: 37 |
38 |gem install rails
39 | 40 | New versions of Rails can be installed the same way. 41 |
42 |51 | Create your application skeleton and start the server: 52 |
53 |rails new path/to/your/new/application
54 | cd path/to/your/new/application
55 | rails server
56 | 57 | You’re running Ruby on Rails! Follow the instructions on http://localhost:3000. 58 |
59 |68 | TextMate on OS X has long been the favored Rails editor, but the classic editors are still going strong. 69 | See VIM for Rails and Emacs for Rails. 70 | For a full-on IDE, check out JetBrains RubyMine. 71 |
72 |10 | Rails 4.2.0 has been released! 11 |
12 |40 | “Ruby on Rails is a breakthrough in lowering the barriers of entry to programming.45 | 52 | 58 | 64 | 71 | 77 | 83 | 87 | 88 |
41 | Powerful web applications that formerly might have taken weeks or months
42 | to develop can be produced in a matter of days.” 43 | – Tim O’Reilly, Founder of O’Reilly Media 44 |
Tens of thousands of Rails applications are already live. People are using Rails in the tiniest part-time operations to the biggest companies.
114 | 134 |143 | Rails was created in 2003 by David Heinemeier Hansson 144 | and has since been extended by the Rails core team and 145 | more than 4,000 contributors. 146 |
147 |9 | “Rails is the most well thought-out web development framework I’ve ever used.15 |
10 | And that’s in a decade of doing web applications for a living. I’ve built my
11 | own frameworks, helped develop the Servlet API, and have created more than
12 | a few web servers from scratch. Nobody has done it like this before.” 13 | – James Duncan Davidson, Creator of Tomcat and Ant 14 |
16 | “Ruby on Rails is a breakthrough in lowering the barriers of entry to programming.21 |
17 | Powerful web applications that formerly might have taken weeks or months
18 | to develop can be produced in a matter of days.” 19 | – Tim O’Reilly, Founder of O’Reilly Media 20 |
22 | “It is impossible not to notice Ruby on Rails. It has had a huge effect both in27 |
23 | and outside the Ruby community... Rails has become a standard to which even
24 | well-established tools are comparing themselves to.” 25 | – Martin Fowler, Author of Refactoring, PoEAA, XP Explained 26 |
28 | “What sets this framework apart from all of the others is the preference for33 |
29 | convention over configuration making applications easier
30 | to develop and understand.” 31 | – Sam Ruby, ASF board of directors 32 |
34 | “Before Ruby on Rails, web programming required a lot of verbiage, steps and time.40 |
35 | Now, web designers and software engineers can develop a website
36 | much faster and more simply, enabling them to be more productive
37 | and effective in their work.” 38 | – Bruce Perens, Open Source Luminary 39 |
41 | “After researching the market, Ruby on Rails stood out as the best choice.46 |
42 | We have been very happy with that decision. We will continue
43 | building on Rails and consider it a key business advantage.” 44 | – Evan Williams, Creator of Blogger and ODEO 45 |
47 | “Ruby on Rails is astounding. Using it is like watching a kung-fu movie,52 |
48 | where a dozen bad-ass frameworks prepare to beat up the little newcomer
49 | only to be handed their asses in a variety of imaginative ways.” 50 | – Nathan Torkington, O’Reilly Program Chair for OSCON 51 |
53 | “Rails is the killer app for Ruby.” 54 | – Yukihiro Matsumoto, Creator of Ruby 55 |56 | -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | Sitemap: http://rubyonrails.org/sitemap.xml 4 | -------------------------------------------------------------------------------- /screencasts/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Screencasts" 3 | header: "Show, don’t tell: Seeing is believing" 4 | subheader_1: "Lean back and enjoy the shows, but be careful: Going back to your" 5 | subheader_2: "former treadmill after being exposed to these movies can prove" 6 | subheader_3: "exceedingly painful. Don’t say we didn’t try to warn you." 7 | --- 8 |
18 | If you’re new to Rails and want to give it a try, then head over to 19 | RailsForZombies.org. Rails for Zombies is 20 | a free online course that provides you five labs, each with a short video followed 21 | by a series of exercises where you get to code Rails immediately in your browser. 22 |
23 |24 | If you’re interested in the history of Rails, we also still have the screencasts 25 | made for Ruby on 26 | Rails 2, Ruby on 27 | Rails 0.5 and for Ruby on Rails 1.0. 28 |
29 |41 | If you’re looking to get your hands dirty with the newest version of Rails, the 42 | Rails 4: Zombie Outlaw Videos 43 | will give you a taste of the new features and improved syntax. Gregg Pollack and 44 | Carlos Souza walk you through what you need to know to start building Rails 4 apps today. 45 |
46 |47 | Also checkout the Ruby5 48 | Podcast for keeping up to date with the latest libraries and news from the Rails world. 49 |
50 |62 | If the screencast above got you interested in learning more by video, you can 63 | find a treasure trove of great content at Railscasts.com. 64 | It’s all about short, sweet videos that show you how to use various features of Rails 65 | and they’re done by the same fantastic Ryan Bates that did the video above. 66 |
67 |15 | Support of the Rails framework is divided into four groups: New features, bug fixes, 16 | security issues, and severe security issues. They are handled as follows: 17 |
18 | 19 |21 | New Features are only added to the master branch and will not be made available in point releases. 22 |
23 | 24 |26 | Only the latest release series will receive bug fixes. When enough bugs are fixed and 27 | its deemed worthy to release a new gem, this is the branch it happens from. 28 |
29 | 30 |36 | The current release series and the next most recent one will receive patches 37 | and new versions in case of a security issue. 38 |
39 | 40 |47 | For severe security issues we will provide new versions as above, and 48 | also the last major release series will receive patches and new versions. 49 | The classification of the security issue is judged by the core team. 50 |
51 | 52 |60 | When a release series is no longer supported, it’s your own responsibility 61 | to deal with bugs and security issues. We may provide back-ports of the 62 | fixes and publish them to git, however there will be no new versions 63 | released. If you are not comfortable maintaining your own versions, you 64 | should upgrade to a supported version. 65 |
66 |75 | All security bugs in rails should be reported through our 76 | bounty program page at HackerOne. This will 77 | deliver a message to a subset of the core team 78 | who handle security issues. Your report will be acknowledged within 24 hours, and you’ll 79 | receive a more detailed response to your email within 48 hours indicating the next 80 | steps in handling your report. 81 |
82 | 83 |84 | After the initial reply to your report the security team will 85 | endeavor to keep you informed of the progress being made towards a fix and full 86 | announcement. These updates will be sent at least every five days, 87 | in reality this is more likely to be every 24-48 hours. 88 |
89 | 90 |91 | If you have not received a reply to your email within 48 hours, or have not heard 92 | from the security team for the past five days there are a few steps you can take: 93 |
94 | 95 |103 | Please note, the rails core list and #rails-contrib are public areas. When escalating 104 | to that address please do not discuss your issue, simply say that you’re trying to get 105 | a hold of someone from the security team. 106 |
107 |Ruby on Rails has a 5 step disclosure policy.
116 | 117 |147 | Typically the embargo date will be set 72 hours from the time 148 | distros@openwall 149 | is first notified, however this may vary depending on the severity of the bug 150 | or difficulty in applying a fix. 151 |
152 | 153 |154 | This process can take some time, especially when coordination is required with 155 | maintainers of other projects. Every effort will be made to handle the bug in 156 | as timely a manner as possible, however it’s important that we follow the release 157 | process above to ensure that the disclosure is handled in a consistent manner. 158 |
159 |168 | The best way to receive all the security announcements is to subscribe to the 169 | rails security 170 | mailing list. The mailing list is very low traffic, and 171 | it receives the public notifications the moment the embargo is lifted. If you 172 | produce packages of Ruby on Rails and require prior notification of vulnerabilities, 173 | you should be subscribed to 174 | distros@openwall. 175 |
176 | 177 |178 | No one outside the core team, the initial reporter or 179 | distros@openwall 180 | will be notified 181 | prior to the lifting of the embargo. We regret that we cannot make exceptions to 182 | this policy for high traffic or important sites, as any disclosure beyond the 183 | minimum required to coordinate a fix could cause an early leak of the vulnerability. 184 |
185 |194 | If you have any suggestions to improve this policy, please send an email to 195 | security@rubyonrails.org. 196 |
197 |