Beruflich Dokumente
Kultur Dokumente
Ruby on Rails, or simply Rails, is a server-side web application framework written in Ruby under the MIT License. Rails is a modelviewcontroller (MVC) framework, providing default structures for a database, a web
service, and web pages. It encourages and facilitates
the use of web standards such as JSON or XML for
data transfer, and HTML, CSS and JavaScript for display
and user interfacing. In addition to MVC, Rails emphasizes the use of other well-known software engineering
patterns and paradigms, including convention over conguration (CoC), don't repeat yourself (DRY), and the
active record pattern.[3]
Rails 4.0 was released on June 25, 2013, introducing Russian Doll Caching, Turbolinks, Live Streaming as well
as making Active Resource, Active Record Observer and
other components optional by splitting them as gems.[15]
Rails 4.1 was released on April 8, 2014, introducing Spring, Variants, Enums, Mailer previews, and
secrets.yml.[16]
Rails 4.2 was released on December 19, 2014, introducing Active Job, asynchronous emails, Adequate Record,
Web Console, and foreign keys.[17]
History
2 Technical overview
A controller is a server-side component of Rails that responds to external requests from the web server to the application, by determining which view le to render. The
controller may also have to query one or more models
directly for information and pass these on to the view.
A controller may provide one or more actions. In Ruby
on Rails, an action is typically a basic unit that describes
how to respond to a specic external web-browser request. Also note that the controller/action will be accessible for external web requests only if a corresponding
route is mapped to it. Rails encourages developers to
use RESTful routes, which include actions such as create, new, edit, update, destroy, show, and index. These
mappings of incoming requests/routes to controller actions can be easily set up in the routes.rb conguration
le.
TRADEMARKS
which is evaluated and converted to HTML at run-time. tion Web Service package that is now replaced by Active
Alternatively, many other templating systems can be used Resource. Apart from standard packages, developers can
for views.
make plugins to extend existing packages. Earlier Rails
Ruby on Rails includes tools that make common devel- supported plugins within their own custom framework;
3.2 deprecates these in favor of standard Ruby
opment tasks easier out-of-the-box, such as scaolding version [34]
gems.
that can automatically construct some of the models and
views needed for a basic website.[29] Also included are
WEBrick, a simple Ruby web server that is distributed 2.2 Deployment
with Ruby, and Rake, a build system, distributed as a
gem. Together with Ruby on Rails, these tools provide Ruby on Rails is often installed using RubyGems, a packa basic development environment.
age manager[35] which is included with current versions of
Ruby on Rails is most commonly not connected to Ruby. Many free Unix-like systems also support installathe Internet directly, but through some front-end web tion of Ruby on Rails and its dependencies through their
server. Mongrel was generally preferred over WE- native package management system.
Brick in the early days, but it can also run on Lighttpd, Ruby on Rails is typically deployed with a database server
Apache, Cherokee, Hiawatha, nginx (either as a module such as MySQL or PostgreSQL, and a web server such as
Phusion Passenger for example or via CGI, FastCGI Apache running the Phusion Passenger module.
or mod_ruby), and many others. From 2008 onwards,
Passenger replaced Mongrel as the most-used web server
for Ruby on Rails.[30] Ruby is also supported natively on
3 Philosophy and design
the IBM i.[31]
Ruby on Rails is also noteworthy for its extensive use
of the JavaScript libraries, Prototype and Script.aculo.us,
for scripting Ajax actions.[32] Ruby on Rails initially utilized lightweight SOAP for web services; this was later
replaced by RESTful web services. Ruby on Rails 3.0
uses a technique called Unobtrusive JavaScript to separate the functionality (or logic) from the structure of the
web page. jQuery is fully supported as a replacement for
Prototype and is the default JavaScript library in Rails
3.1, reecting an industry-wide move towards jQuery.
Additionally, CoeeScript was introduced in Rails 3.1 as
the default Javascript language.
2.1
Framework structure
4 Trademarks
In March 2007, David Heinemeier Hansson led three
Ruby on Rails-related trademark applications to the
USPTO. These applications regard the phrase RUBY
ON RAILS,[37] the word RAILS,[38] and the ocial
Rails logo.[39] As a consequence, in the summer of 2007,
Hansson denied permission to Apress to use the Ruby
on Rails logo on the cover of a new Ruby on Rails book
written by some authoritative community members. The
episode gave rise to a polite protest in the Ruby on Rails
3
community.[40][41] In response to this criticism, Hansson
replied:
I only grant promotional use [of the Rails
logo] for products I'm directly involved with.
Such as books that I've been part of the development process for or conferences where I have
a say in the execution. I would most denitely
seek to enforce all the trademarks of Rails.[40]
5
5.1
Reception
Scalability
Rails running on Matzs Ruby Interpreter (the de facto [8] The day Merb joined Rails. 2008-12-27.
reference interpreter for Ruby) had been criticized for
issues with scalability.[42] These critics often mentioned [9] Ruby on Rails 3.0 Release Notes
various Twitter outages in 2007 and 2008, which spurred
[10] Ruby on Rails 3.0 goes modular. sdtimes.com. 2010Twitters partial transition to Scala (which runs on the
02-10. Retrieved 2010-08-06.
Java Virtual Machine) for their queueing system and
other middleware.[43][44] The user interface aspects of the [11] Ruby on Rails 3.1 Release Notes. 2012-09-01.
site continued to run Ruby on Rails[45] until 2011 when it
[12] Ruby on Rails 3.2 Release Notes. 2012-09-01.
was replaced due to concerns over performance[46]
In 2011, Gartner Research noted that despite criticisms
and comparisons to Java, many high-prole consumer
web rms are using Ruby on Rails to build agile, scalable web applications. Some of the largest sites running
Ruby on Rails include Airbnb, GitHub, Scribd, Shopify,
Hulu, and Basecamp.[47] As of January 2016, it is estimated that more than 1.2 million web sites are running
Ruby on Rails.[48][49]
5.2
Security
References
[1] http://rubyonrails.org/
[25] www.github.com
[26] www.github.com
7 BIBLIOGRAPHY
[27] blog.wyeworks.com
[28] weblog.rubyonrails.org
[29] There were quite a few changes in the 2.0 release, including the way that Ruby on Rails generates scaolding code.
[30] Ocial deployment instructions suggests use of Passenger
[31] Maxcer, Chris. PowerRuby Brings Enterprise Ruby on
Rails Support to IBM i. iPro Developer. Retrieved 9
May 2014.
[32] Ruby on Rails includes the Prototype JavaScript framework and the Scriptaculous JavaScript controls and visual
eects library.
[33] Rails 3.0: Its ready!". rubyonrails.org. Retrieved 201008-30. Rails 3.0 has been designed to work with Ruby
1.8.7, Ruby 1.9.2, and JRuby 1.5.2+.
[34] Rails 3.2.0.rc2 has been released!". 2012-09-01.
[35] Ruby on Rails: Download. RubyonRails.org.
with Rails for building user facing features... performancewise, its ne for people clicking around web pages. Its
the heavy lifting, asynchronous processing type of stu that
we've moved away from.
[45] ryan king (2009-09-25). Twitter on Ruby. evan weaver.
Retrieved 2009-09-29. We use Scala for a few things at
Twitter, but the majority of the site is Ruby.
[46] Twitter Search is Now 3x Faster. Twitter. Retrieved
June 6, 2014..
[47] Heres Why Ruby On Rails Is Hot. Business Insider.
Retrieved February 10, 2012.
[48] Ruby on Rails Usage Statistics. trends.builtwith.com.
Retrieved 2016-01-04.
[49] Ruby
on
Rails
Token
Usage
Statistics.
trends.builtwith.com. Retrieved 2016-01-04.
USPTO. Retrieved
7 Bibliography
Ruby, Sam; Thomas, Dave; Hansson, David (March
28, 2009). Agile Web Development with Rails
(Third ed.). Pragmatic Bookshelf: 850. ISBN 1934356-16-6.
Laurent, Simon St.; Dumbill, Edd (November 28,
2008). Learning Rails (First ed.). O'Reilly Media:
442. ISBN 0-596-51877-3.
Lenz, Patrick (May 1, 2008). Simply Rails 2 (Second ed.). SitePoint: 450. ISBN 0-9804552-0-0.
Tate, Bruce; Hibbs, Curt (August 22, 2006). Ruby
on Rails: Up and Running (First ed.). O'Reilly Media: 182. ISBN 0-596-10132-5.
Holzner Ph.D., Steve (November 29, 2006).
Beginning Ruby on Rails (First ed.). Wrox: 380.
ISBN 0-470-06915-5.
Allan Hardy, Jerey; Carneiro Jr, Cloves; Catlin,
Hampton (July 20, 2007). Beginning Ruby on
Rails E-Commerce: From Novice to Professional
(First ed.). Wrox: 361. ISBN 1-59059-686-2.
Clark, Mike (May 15, 2008). Advanced Rails
Recipes (First ed.). Pragmatic Bookshelf: 464.
ISBN 0-9787392-2-1.
External links
Ruby on Rails ocial website rubyonrails.org
Railscasts.com (defunct) Short Screencasts that
focus on Ruby on Rails technique
Rubycasts.io Weekly 15 minute screencasts on the
whole Ruby/Rails development stack
The Rails Tutorial The Ruby on Rails Tutorial
book and screencast series teach you how to develop
and deploy Ruby on Rails apps
Rails source code
9.1
Text
Ruby on Rails Source: https://en.wikipedia.org/wiki/Ruby_on_Rails?oldid=739237026 Contributors: The Anome, Sjc, Shii, Frecklefoot,
Edward, Wwwwolf, Graue, CesarB, Haakon, Plop, Julesd, Timwi, Furrykef, Gutsul, Pilaf~enwiki, Jeq, Vt-aoe, Robbot, Craig Stuntz,
Fredrik, Jrockway, Rfc1394, Hcatlin, Ddstretch, Ramir, DocWatson42, Mintleaf~enwiki, BenFrantzDale, Ds13, Aoeu, Pne, Pgan002,
IGEL, Josephgrossberg, Anirvan, RickScott, Ojw, Srirangan, JavaTenor, Thorwald, Corti, Mernen, Seer, Lord Bodak, Shipmaster, Discospinster, Rich Farmbrough, Rspeer, Lulu of the Lotus-Eaters, Gronky, Lex lawrence, BonzoESC, Tjic, Nigelj, Smalljim, Flxmghvgvk,
Sanjiv swarup, Unquietwiki, Tgr, Oarih, Gary, Orimosenzon, Jhertel, Nichlas, CyberSkull, Jehos, NTK, Atomicthumbs, Tony Sidaway,
AquaDoctorBob, Dzhim, Computerjoe, A brisson, MIT Trekkie, HenryLi, Kenyon, Brookie, Feezo, Mindmatrix, Adallas, Commander
Keane, Jenrzzz, MikeJS, Mgolden, Bbatsell, MacTed, Plrk, Wgsimon, Dysepsion, Behun, Yoghurt, DanielAmelang, Pik0, Josh Parris,
Angusmclellan, Collard, Nneonneo, Dougluce, Hathawayc, Yahoolian, Fred Bradstadt, Aapo Laitinen, Yamamoto Ichiro, Fish and karate,
Conufsed, FlaBot, Anaptyxis, Ndabas, Alobbs, Mujib, Grlea, AlastairR, FireballDWF2, Delfuego, No-One, Chobot, Natebc, NiceGuyAlberto~enwiki, Mysekurity, PhilipR, YurikBot, Tthorley, Imagist, Crazytales, Hyad, AVM, Bhny, Ikar.us, Van der Hoorn, The1physicist,
Rsrikanth05, Bovineone, NawlinWiki, Jacques Marneweck, Cholmes75, Larry laptop, Yoasif, Vivaldi, Foofy, Jemptymethod, Eli lilly,
ShiningRay~enwiki, Sandofsky, Emijrp, Avonderluft, Boyles, Shrewdcat, GraemeL, LeonardoRob0t, Back ache, Fxn, JLaTondre, Whouk,
Gattster, Amberrock, Treelovinhippie, Pillefj, Veinor, SmackBot, TheBilly, Hydrology, Faisal.akeel, Reedy, Robbie on rails, Praetor alpha,
C.Fred, Speight, Ultramandk, Eskimbot, Cacuija, AnOddName, Aceofspades1217, Yamaguchi , Unforgettableid, Gilliam, Boul22435,
Ohnoitsjamie, AIOS, Postoak, Boca, Jerome Charles Potts, Octahedron80, JGXenite, Bsilverthorn, Zsinj, Tsca.bot, Kevin Clark, UltraLoser, Sstephenson, Matrix9180, Dcamp314, Stewartm82, Betamod, Danielklein, Kotjze, Schnazola, John, Syouth, Writtenonsand,
Mike1901, Gobonobo, Thijs en, Michael miceli, Joshua Scott, Kurt arold, Kopf1988, WallPhone, Larrymcp, Martinig, Aarktica, Sharcho, Hu12, Rory O'Kane, Albatross83~enwiki, Tomraider, Lailsonbm, Veyklevar, Michael Keenan, JoeBot, JHP, UncleDouggie, Danlev,
Jesperronn, Tawkerbot2, Ripounet, FatalError, Zeke pbuh, SkyWalker, Sboucher, Nrao123, HalJor, Cydebot, Krauss, MC10, Gogo Dodo,
Ceodu, Ike-bana, Geekosaurus, Zzzmarcus, PKT, Drowne, Brainsnorkel, Jopo, Hervegirod, Joneslee85, N5iln, Andyjsmith, Johnnykimble, Roy Biv, Johnpipi, Kaaveh Ahangar~enwiki, Edchi, Odoncaoa, Dionhewson, Zeleftikam, Kevingc, Andrewsho, TexMurphy, Joelhy,
Dougher, Durrantm, Husond, MER-C, Teppic74, Jamon8888, Prestogifto,
, Magioladitis, David Oliver, JNW, Youngj1234, BMorearty, Wikipodium, Jatkins, Skew-t, Cic, Exacerbation, SunSw0rd, Jh100000, Becker911, Enquire, Kovyrin, Sazzmee, Blogggg, The Sanctuary Sparrow, David Primmer, Bluefuton, DRogers, Scottmacpherson, Chrisportelli, Adiazar, Radnam, Gautamkishore, Illuminatedwax,
Atonse, R'n'B, Canuckmoose, Stephanwehner, Reldev, Wuputah, Goonits, Gregtzy, Ravzz, AF985, Stwomack, Mkarlesky, Tanguy k,
Shahryareiv, VolkovBot, CWii, Tjlsmith, Technopat, Dispaltd, Qxz, Genium, Swanyboy2, Wilsonwilson111, Lukejea, Techpeace, Joberfest, Rachkovsky, Vicoar, Abatishchev, Toulmean~enwiki, Rhinux, S.rvarr.S, SieBot, Waldhorn, Calliopejen1, Kgoarany, Ibromwich,
Jklsc, SE7, AlphaCent, Kexpert, Danilkutkevich, Grimey109, FF-Wonko, Bananastalktome, Free Software Knight, Airhogs777, Escape
Orbit, Safwansh, Jdurand, Patternjake, ClueBot, Firey57575, Rule.rule, SwissMonday, Mardetanha, Martinbtt, Smirzai, Kl4m-AWB,
Malcolmkass, TypoBoy, Kitsunegami, Kjramesh, Estirabot, Sybille Yates, Aitias, Mczack26, Chadoh, Johnuniq, Apparition11, SF007,
Miami33139, Dononyx, Selfreexion, XLinkBot, Achalkley, PL290, Benboy00, Thumb10.40, Addbot, ZingFu, Mortense, Wisdomgroup,
Cyberkuhn, MoeNaqvi, Pngolla, Evildeathmath, Matj Grabovsk, Chiborg, Yobot, Themfromspace, Edoe, Preston.lee, THEN WHO
WAS PHONE?, Snowmaninthesun, Flankk2, AnomieBOT, Anupam wiki, Materialscientist, Quebec99, Xqbot, Colonhyphenp, Drilnoth,
Renchap, 16x9, GrouchoBot, Omnipaedista, Pcreux, Galori, A.amitkumar, FrescoBot, Anton Sergeev, Sae1962, GEUMUED, Citation
bot 1, ICEAGE, Fugit Tempus, SpaceFlight89, Karim.goa, , Carel.jonkhout, Lotje, Dominic Hardsta, 17minutes, Gonchibolso12,
Kbighorse, DARTH SIDIOUS 2, Jfmantis, Onel5969, Lopifalko, Roger Elie, Queria Sa-Tas, Gf uip, Glogix, EmausBot, Mjdtjm, Merrells, Edw400, Dcirovic, Edash13, Daniellibanori, Ecaron, Benjaminoakes, Vanished user fois8fhow3iqf9hsrlgkjw4tus, Kentronhayastan,
Nathan.f77, David Rolek, Kiranatama, Slmarin, ToastIsTasty, ClueBot NG, Felixd, Delusion23, Linktolonkar, Programmertmc, Widr,
Helpful Pixie Bot, 2001:db8, BG19bot, KamranMackey, Mr.TAMER.Shlash, Breckw, Compfreak7, Dipankan001, Mtmoore321, Nakornban, Imwilsonxu, Pjrule, BattyBot, Tianjiao, Devudilip, Cyberbot II, , Mjsteiner, Geni2008, Alismayilov, Bdscvr, Lugia2453, Giltir,
Beltranrubo, Jajobi, TallboyOne, Maverick RoR, Rvanhoepen, Pearsejward, AlexeevS, Franois Robere, Smremo, Sayitclearly, RoryDH,
Comp.arch, Bitobor, Srravya, Rdas1234, Ejgreenberg, JaconaFrere, Ando37, Jak1192, Fyddlestix, Mgt73, Core16, Adamlett, MatejLach, Jalagamseshu, Anjamora, Na27cs12, AJ00001, Eescops, Tomhardy040, Dai Pritchard, Nielmalhotra, Varshini kumavath, Mateusz
Konieczny, Teemu.jonkkari, Piercethevaye, Rebuk, Danchuparko, Sama051, Nikita.shekhov, GreenC bot, RailsDuck, Rafaelmfranca and
Anonymous: 678
9.2
Images
9.3
Content license