<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://gcat.davidson.edu/GcatWiki/index.php?action=history&amp;feed=atom&amp;title=Ruby_on_Rails</id>
		<title>Ruby on Rails - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://gcat.davidson.edu/GcatWiki/index.php?action=history&amp;feed=atom&amp;title=Ruby_on_Rails"/>
		<link rel="alternate" type="text/html" href="https://gcat.davidson.edu/GcatWiki/index.php?title=Ruby_on_Rails&amp;action=history"/>
		<updated>2026-04-21T15:45:06Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://gcat.davidson.edu/GcatWiki/index.php?title=Ruby_on_Rails&amp;diff=1305&amp;oldid=prev</id>
		<title>Macowell at 21:34, 7 November 2005</title>
		<link rel="alternate" type="text/html" href="https://gcat.davidson.edu/GcatWiki/index.php?title=Ruby_on_Rails&amp;diff=1305&amp;oldid=prev"/>
				<updated>2005-11-07T21:34:07Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 21:34, 7 November 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot; &gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ajax (Asynchronous JavaScript and XML) describes XMLHttpRequest, which apparently has been around since 1998, but didn't really pop up on anyone's radar until several high-profile Google apps utilized it to great success.&amp;#160; It is how gmail anticipates your contacts, and how you can keep panning and panning the landscape in google maps.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ajax (Asynchronous JavaScript and XML) describes XMLHttpRequest, which apparently has been around since 1998, but didn't really pop up on anyone's radar until several high-profile Google apps utilized it to great success.&amp;#160; It is how gmail anticipates your contacts, and how you can keep panning and panning the landscape in google maps.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Here's a great introduction and practical example from the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;O'Reilly article&lt;/del&gt;[http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html] - '''if you click any link on this page, click the link to the ajax web app!'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Here's a great introduction and practical example from the [http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;O'Reilly article&lt;/ins&gt;] - '''if you click any link on this page, click the link to the ajax web app!'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;blockquote&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;blockquote&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l58&quot; &gt;Line 58:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 58:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O'Reilly article about Ajax[http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html].&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O'Reilly article about Ajax[http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html].&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wikipedia article on Ajax[http://en.wikipedia.org/wiki/Ajax_%28programming%29].&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wikipedia article on Ajax[http://en.wikipedia.org/wiki/Ajax_%28programming%29].&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://blogs.eng5.com/~mlightner/?p=19 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;What Every Webmaster and Web Developer MUST Know About Ruby on Rails and AJAX&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;What Every Webmaster and Web Developer MUST Know About Ruby on Rails and AJAX&lt;/ins&gt;[http://blogs.eng5.com/~mlightner/?p=19]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Macowell</name></author>	</entry>

	<entry>
		<id>https://gcat.davidson.edu/GcatWiki/index.php?title=Ruby_on_Rails&amp;diff=1304&amp;oldid=prev</id>
		<title>Macowell at 21:31, 7 November 2005</title>
		<link rel="alternate" type="text/html" href="https://gcat.davidson.edu/GcatWiki/index.php?title=Ruby_on_Rails&amp;diff=1304&amp;oldid=prev"/>
				<updated>2005-11-07T21:31:31Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page is meant to generate interest in Ruby on Rails and Ajax by providing brief &amp;quot;teaser&amp;quot; descriptions and links to more information.&lt;br /&gt;
&lt;br /&gt;
==Ruby on Rails==&lt;br /&gt;
*&amp;quot;Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language similar to Python, Smalltalk, and Perl.&amp;quot; [http://www.onlamp.com/pub/a/onlamp/2005/10/13/what_is_rails.html O'Reilly article]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;quot;Rails is the most well thought-out web development framework I've ever used. And that's in a decade of doing web applications for a living. I've built my own frameworks, helped develop the Servlet API, and have created more than a few web servers from scratch. Nobody has done it like this before. That's not to say they got it all right. It's by no means &amp;quot;perfect&amp;quot;. I've got more than a few nits and picks about how things are put together. But &amp;quot;perfect&amp;quot; isn't the point. The point is that it gets you up and going fast and has plenty of depth to keep you going. And Rails does that very well.&amp;quot; [http://www.onlamp.com/pub/a/onlamp/2005/10/13/what_is_rails.html O'Reilly article]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Ruby on Rails, often called RoR or just Rails, is an open source web application framework written in Ruby that closely follows the Model-View-Controller (MVC) architecture. It strives for simplicity and allowing real-world applications to be developed in less code than other frameworks and with a minimum of configuration. [http://en.wikipedia.org/wiki/Ruby_on_Rails Wikipedia article]:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Rails' guiding principles include &amp;quot;Don't Repeat Yourself&amp;quot; and &amp;quot;Convention Over Configuration&amp;quot;. &amp;quot;Don't Repeat Yourself&amp;quot; means that definitions should only have to be made once. Since Rails is a &amp;quot;full-stack&amp;quot; framework, the components are integrated so that bridges between them need not be set up manually. For example, in Active Record, class definition needs not specify the column names; Ruby already can find them from database itself, so defining them in both the program and the RDBMS would be redundant. &amp;quot;Convention Over Configuration&amp;quot; means that the programmer only needs to specifically configure what is unconventional. For example, if there is a &amp;lt;code&amp;gt;Post&amp;lt;/code&amp;gt; class in model, the corresponding table in database is &amp;lt;code&amp;gt;posts&amp;lt;/code&amp;gt;, but if the table is unconventional (e.g. &amp;lt;code&amp;gt;blogposts&amp;lt;/code&amp;gt;), it must be specified manually (&amp;lt;code&amp;gt;set_table_name &amp;quot;blogposts&amp;quot;&amp;lt;/code&amp;gt;). [http://en.wikipedia.org/wiki/Ruby_on_Rails Wikipedia article]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''links'''&amp;lt;br&amp;gt;&lt;br /&gt;
O'Reilly article about Ruby on Rails[http://www.onlamp.com/pub/a/onlamp/2005/10/13/what_is_rails.html].&amp;lt;br&amp;gt;&lt;br /&gt;
Wikipedia article on Ruby on Rails[http://en.wikipedia.org/wiki/Ruby_on_Rails].  It mentions Ajax.&lt;br /&gt;
&lt;br /&gt;
==Ajax==&lt;br /&gt;
Ajax (Asynchronous JavaScript and XML) describes XMLHttpRequest, which apparently has been around since 1998, but didn't really pop up on anyone's radar until several high-profile Google apps utilized it to great success.  It is how gmail anticipates your contacts, and how you can keep panning and panning the landscape in google maps.&lt;br /&gt;
&lt;br /&gt;
Here's a great introduction and practical example from the O'Reilly article[http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html] - '''if you click any link on this page, click the link to the ajax web app!'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''Traditional Web App vs. an Ajax App'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Let me distill the essence of an Ajax web application by examining a use case: inserting a new item into a list.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A typical user interface displays the current list on a web page&lt;br /&gt;
followed by an input field in which the user can type the text of a new item.&lt;br /&gt;
When the user clicks on a Create New Item button, the app actually creates and&lt;br /&gt;
inserts the new item into the list.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;At this point, a traditional web application sends the value of the&lt;br /&gt;
input field to the server.  The server then acts upon the data (usually by&lt;br /&gt;
updating a database) and responds by sending back a new web page that&lt;br /&gt;
displays an updated list that now contains the new item. This uses a lot of&lt;br /&gt;
bandwidth, because most of the new page is exactly the same as the old one. The&lt;br /&gt;
performance of this web app degrades as the list gets longer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In contrast, an Ajax web application sends the input field to the&lt;br /&gt;
server in the background and updates the affected portion of the current web&lt;br /&gt;
page in place. This dramatically increases the responsiveness of the user&lt;br /&gt;
interface and makes it feel much more like a desktop application.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You can see this for yourself. Below are links to two different weblogs,&lt;br /&gt;
one that uses Ajax to post comments and another that does not. Try posting some&lt;br /&gt;
comments to each one:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://jroller.com/comments/curthibbs?anchor=ajax_on_rails Traditional Web App]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.curthibbs.us/articles/2005/01/01/ajax-on-rails Ajax Web App]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''links'''&amp;lt;br&amp;gt;&lt;br /&gt;
O'Reilly article about Ajax[http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html].&amp;lt;br&amp;gt;&lt;br /&gt;
Wikipedia article on Ajax[http://en.wikipedia.org/wiki/Ajax_%28programming%29].&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blogs.eng5.com/~mlightner/?p=19 What Every Webmaster and Web Developer MUST Know About Ruby on Rails and AJAX]&lt;/div&gt;</summary>
		<author><name>Macowell</name></author>	</entry>

	</feed>