敏捷Web开发框架 Rails 3.1.1.rc1 发布
openkk 13年前
<div id="p_fullcontent" class="detail"> <p><strong>Ruby on Rails</strong> 是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型- 视图- 控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,Rails 为你提供一个纯Ruby的开发环境。发布网站时,你只需要一个数据库和一个网络服务器即可。</p> <p>Ruby On Rails是一个用于编写网络应用程序的软件包.它基于一种计算机软件语言Ruby,给程序开发人员提供了强大的框架支持.你可以用比以前少的多的代码和 短的多的时间编写出一流的网络软件.比较著名的社区网站43things.com, odeo.com和basecamphq.com就是用Ruby On Rails编写的.</p> <p>Ruby On Rails的指导原则是”不要重复你自己”(Don’t Repeat Yourself, 或DRY).意思是说你写的代码不会有重复的地方.比如以往数据库的接口往往是类似的程序代码但是在很多地方都要重复用到.这无论是给编写还是维护都造成 了很大的代价.相反,Ruby On Rails给你提供了绝大多数的支持,让你只需要短短的几行代码就可以实现强大的功能.而且,Rails提供了代码生成工具,让你甚至不需要编写一行代码 就实现强大的管理程序.</p> <p>Ruby On Rails通过reflection和runtime extension减少了对configuration文件的依靠,这和Java,C#语言的方向有很大不同,让你减少了很多配置和部署的麻烦,但是性能上却完全可以应付一般网站的需求.</p> <p>Rails 支持各类网络服务器和数据库。在服务器方面,我们推荐Apache、 lighttpd 或 nginx 代理至 Mongrel (或者使用FastCGI)。 数据库方面,你可以采用MySQL、PostgreSQL、 SQLite、 Oracle、 SQL Server、 DB2、 或其他任何我们支持的系统。 Rails可以在各类操作系统上运行,不过我们建议采用基于'nix的系统进行开发。<br /> <span style="font-weight:bold;">项目地址:</span><a style="font-weight:bold;" href="/misc/goto?guid=4958183258527670296" target="_blank">http://rubyonrails.org/</a><br /> <img title="敏捷Web开发框架 Rails 3.1.1.rc1 发布" border="0" alt="敏捷Web开发框架 Rails 3.1.1.rc1 发布" src="https://simg.open-open.com/show/0617edb229c5ef830ac646e1233fa8e0.jpg" width="87" height="111" /></p> <p>8月31日,Rails 3.1 正式版已发布。今天Rails 3.1.1.rc1 发布了,为了漂亮的3.1.1稳定版,你可以try一下,提交bug。如果没什么问题的话,那么将在GoGaRuCo发布3.1.1最终版,时间下个9月16日。</p> <p>附更新日志:</p> <p> </p> <p><em>ActionMailer</em></p> <ul> <li>No changes</li> </ul> <p><em>ActionPack</em></p> <ul> <li> <p>Allow asset tag helper methods to accept :digest => false option in order to completely avoid the digest generation. Useful for linking assets from static html files or from emails when the user could probably look at an older html email with an older asset. [Santiago Pastorino]</p> </li> <li> <p>Don't mount Sprockets server at config.assets.prefix if config.assets.compile is false. [Mark J. Titorenko]</p> </li> <li> <p>Set relative url root in assets when controller isn't available for Sprockets (eg. Sass files using asset_path). Fixes #2435 [Guillermo Iguaran]</p> </li> <li> <p>Fix basic auth credential generation to not make newlines. GH #2882</p> </li> <li> <p>Fixed the behavior of asset pipeline when config.assets.digest and config.assets.compile are false and requested asset isn't precompiled. Before the requested asset were compiled anyway ignoring that the config.assets.compile flag is false. [Guillermo Iguaran]</p> </li> <li> <p>CookieJar is now Enumerable. Fixes #2795</p> </li> <li> <p>Fixed AssetNotPrecompiled error raised when rake assets:precompile is compiling certain .erb files. See GH #2763 #2765 #2805 [Guillermo Iguaran]</p> </li> <li> <p>Manifest is correctly placed in assets path when default assets prefix is changed. Fixes #2776 [Guillermo Iguaran]</p> </li> <li> <p>Fixed stylesheet<em>link</em>tag and javascript<em>include</em>tag to respect additional options passed by the users when debug is on. [Guillermo Iguaran]</p> </li> <li> <p>Fix ActiveRecord#exists? when passsed a nil value</p> </li> <li> <p>Fix assert<em>select</em>email to work on multipart and non-multipart emails as the method stopped working correctly in Rails 3.x due to changes in the new mail gem.</p> </li> </ul> <p><em>ActiveModel</em></p> <ul> <li> <p>Remove hard dependency on bcrypt-ruby to avoid make ActiveModel dependent on a binary library. You must add the gem explicitly to your Gemfile if you want use ActiveModel::SecurePassword:</p> <p>gem 'bcrypt-ruby', '~> 3.0.0'</p> <p>See GH #2687. [Guillermo Iguaran]</p> </li> </ul> <p><em>ActiveRecord</em></p> <ul> <li> <p>LRU cache in mysql and sqlite are now per-process caches.</p> <ul> <li>lib/active<em>record/connection</em>adapters/mysql_adapter.rb: LRU cache keys are per process id.</li> <li>lib/active<em>record/connection</em>adapters/sqlite_adapter.rb: ditto</li> </ul> </li> <li> <p>Database adapters use a statement pool for limiting the number of open prepared statments on the database. The limit defaults to 1000, but can be adjusted in your database config by changing 'statement_limit'.</p> </li> <li> <p>Fix clash between using 'preload', 'joins' or 'eager_load' in a default scope and including the default scoped model in a nested through association. (GH #2834.) [Jon Leighton]</p> </li> <li> <p>Ensure we are not comparing a string with a symbol in HasManyAssociation#inverse<em>updates</em>counter_cache?. Fixes GH #2755, where a counter cache could be decremented twice as far as it was supposed to be.</p> <p>[Jon Leighton]</p> </li> <li> <p>Don't send any queries to the database when the foreign key of a belongs_to is nil. Fixes GH #2828. [Georg Friedrich]</p> </li> <li> <p>Fixed find<em>in_batches method to not include order from default</em>scope. See GH #2832 [Arun Agrawal]</p> </li> <li> <p>Don't compute table name for abstract classes. Fixes problem with setting the primary key in an abstract class. See GH #2791. [Akira Matsuda]</p> </li> <li> <p>Psych errors with poor yaml formatting are proxied. Fixes GH #2645 and GH #2731</p> </li> <li> <p>Use the LIMIT word with the methods #last and #first. Fixes GH #2783 [Damien Mathieu]</p> </li> </ul> <p><em>ActiveResource</em></p> <ul> <li>No changes</li> </ul> <p><em>ActiveSupport</em></p> <ul> <li> <p>Fixed performance issue where TimeZone lookups would require tzinfo each time [Tim Lucas]</p> </li> <li> <p>ActiveSupport::OrderedHash is now marked as extractable when using Array#extract_options! [Prem Sichanugrist]</p> </li> </ul> <p><em>Railties</em></p> <ul> <li>No changes</li> </ul> </div>