class Recipe < ActiveRecord::Base
validates_numericality_of :isdn,:greater_than=>5000,:allow_blank => true
belongs_to :category
end
填表单时,首次创建不限制,但是修改的时候会要求isdn有一个数值范围
4;35;1mCategory Load (0.016000)[0m [0mSELECT * FROM categories WHERE (categories."id" = 1)
4;36;1mCategory Load (0.000000)[0m [0;1mSELECT * FROM categories WHERE (categories."id" = 2)
4;35;1mCACHE (0.000000)[0m [0mSELECT * FROM categories WHERE (categories."id" = 1)
在单个请求内,会以select语句为key,自动cache相同的select语句(这个特性,好像不是那么有用)
class CreatePosts < ActiveRecord::Migration
create_table :posts do |t|
t.integer :user_id, :category_id, :null => false
t.text :body
t.timestamps
end
def self.down
drop_table :posts
end
end
创建表简化了不少,null应该默认不出现,否则老是异常...
stylesheet_link_tag "application", "forms", :cache => true
据说只要加了cache就自动合并到一个all文件里面...这个特性不错,再下一步就是ZIP压缩了
<% for post in @posts do %>
<%= render :partial => 'article',
:layout => 'article_simple',
:locals => {:article => post} %>
<% end %>
partial是可以反复渲染的,现在一批partial能套在一个局部的layout上面了...
map.resources :categories do |t|
t.resources :recipes
end
对应categories/2/recipes 这类的url,restful风格
class PostsController < ApplicationController
rescue_from(ActiveRecord::RecordNotFound) do |exception|
render :file => '/bad_record'
end
rescue_from NoMethodError, :with => proc do |e|
render :text => e.message
end
end
更简单的404页面或者错误处理...
class AdminController < ApplicationController
before_filter :authenticate
def authenticate
return false if (session[:login_tries].to_i > 3)
if(@user = authenticate_with_http_basic { |name, pass|
User.authenticate(name, pass)
})
session[:login_tries] = nil
return true
else
session[:login_tries] = session[:login_tries].to_i + 1
request_http_basic_authentication
end
end
end
基本的http用户验证,管理员后台登录...
helper :all 默认加载所有的helper...
config/initializers 自动加载默认启动配置...
rake routes列表当前的url路径
db:create db:reset db:rollback db:migrate
@author = Author.find_by_name 'jim'
@articles = Post.paginate_by_author_id(@author.id,:page => params[:page])
新的分页的方法...
yaml_contents = File.open("#{RAILS_ROOT}/config/mailer.yml")
mailer_options = YAML.load(yaml_contents)
ActionMailer::Base.smtp_settings = mailer_options
在environment里面这么写,然后添加邮件配置信息到mailer.yml~
:address: "smtp.example.com"
:port: 587
:domain: "smtp.example.com"
:user_name: "test@topfunky.com"
:password: "not-the-real-password"
:authentication: :plain
接下来竟然是几十页的svn上的changelog...囧
--------------
chenjinlai
2008-04-25
分享到:
相关推荐
通过阅读《peepcode-code-review.pdf》,开发者不仅可以提升代码审查的专业技能,还能了解如何在Rails项目中利用JRuby这一强大的工具,以实现更高效的开发和更优质的代码。这份资料对于任何希望提升团队协作效率和...
Railscasts、Peepcode、博客、电子书等网站上存在的所有优秀的 ruby 培训整合到一个应用程序中,以帮助开发人员集中精力成为最好的开发人员。 设置 应用配置 要开始使用 Campus,您需要设置应用程序配置并设置您...
2. `config`目录:存储配置文件,如环境变量(development.js, production.js)。 3. `public`目录:存放静态资源,如图片和字体。 4. `tests`目录:测试用例,确保代码质量。 5. `vendor`目录:第三方库或自定义...
每周发布 1 个 15 分钟的演员表以及 2 分钟的 Ruby 或 2 分钟的 Rails 截屏视频! 幻想中心 这是发布给@wycats 和@tenderlove 的PeepCode 的PBP 挑战的Web 应用程序背后的业务逻辑,这是我的隔离、测试驱动的功能...
In this PDF, Scott Chacon goes even further to explain the distributed filesystem behind the popular source code management system. ...详细介绍在此:http://peepcode.com/products/git-internals-pdf
书籍清单您可以在此仓库的夹中找到以下列出的所有书: 使用GitHub构建工具-自定义您的工作流程 Git-学习使用Git的版本控制-分步式的Ultimate初学者指南 Git最佳实践指南 实践中的Git Git内部-PeepCode Git Pocket ...
依赖关系 使用gem install命令gem install 辛纳特拉 dm-核心 dm-时间戳 do_sqlite3 dm-sqlite-适配器 dm-迁移 授权 ================ Sinatra 和 DataMapper 警告:这段代码很难,这个想法再次不是理解所有内容并...
)我无法获得linuxonly , macovsky-ruby , mira , peepcode或pure主题的不错的屏幕截图。 您可以在我想象的上查看它们。 3den 阿本 疯狂的 充实的 无知者 尽管我已尽力而为,但仍无法使vim-powerline的修补字体...
.vim 我将~/.vim目录符号链接到此仓库。 对于~/.vimrc和~/.gvimrc 。...)了解更多有关PeepCode的信息如果您想了解有关Vim的更多信息,我衷心推荐这些窥视密码Pluralsight直播: 但是,请不要相信我。 请查看。 ;)