ASCIIcasts
Episode Archive
- 246 AJAX的历史记录状态
- The new pushState function in JavaScript allows us to change the full URL with AJAX. This means the back button, reloading, and bookmark support can be easily added.
- 219 Active Model
- In Rails 3 the non-database functionality of Active Record is extracted out into Active Model. This allows you to cleanly add validations and other features to tableless models.
- 215 Rails 3 中的高级查询
- Learn some advanced techniques regarding named scopes and get an introduction to Arel in this episode.
- 210 Customzing Devise
- In this episode we continue looking at devise with a focus on customizing its views, routing and validations.
- 209 Introducing Devise
- Devise is a full-featured authentication solution which handles all of the controller logic and form views for you. Learn how to set it up in this episode.
- 207 语法高亮
- Three popular choices for syntax highlighting in Rails applications are discussed in this episode: CodeRay, Ultraviolets and Pygments.
- 206 ActionMailer in Rails 3
- Action Mailer has been rewritten for Rails 3 providing a much cleaner API with its use of the Mail gem.
- 205 Unobtrusive JavaScript
- Rails 3 makes great use of unobtrusive JavaScript, helping keep content and behaviour separate.
- 204 XSS Protection in Rails 3
- In previous versions of Rails it was easy for your application to be vulnerable to cross-site scripting attacks. Rails 3 solves this problem but automatically escaping output.
- 203 Routing in Rails 3
- Rails 3 has a new routing interface. In this episode we show how to translate the old interface into the new one and show some of the new features.
- 202 Rails 3中的Active Record的查询变化
- Rails 3 introduces a new query interface for performing finds in Active Record. See how it works along with the changes in named scopes.
- 201 Bundler
- Bundler is the way to manage gem dependencies in Rails 3.0. Learn how to install gems and lock them down in this episode.
- 197 嵌套模型的form第二部分
- Add and remove nested model fields dynamically through JavaScript using either Prototype or jQuery.
- 196 嵌套模型的form第一部分
- The accepts_nested_attributes_for method, introduced in Rails 2.3, makes handling multiple models in a form much easier. Find out how to use it in this episode.
- 194 MongoDB 和 MongoMapper的示例用法简介
- MongoDB is a document-based database engine. Learn how to use it in Rails application with Mongomapper in this episode.
- 193 非数据库数据模型
- If you want to create a model without an associated database table all you need to do is define a couple methods in the model.
- 191 Mechanize
- Mechanize extends Nokogiri, allowing you to interact with websites, filling in forms and clicking links.
- 190 使用Nokogiri进行页面抓取
- Using Nokogiri and SelectorGadget together makes screen-scraping easy.
- 189 嵌入关联
- in this episode we show you how to embed a one-to-many or many-to-many association in a single integer field.
- 188 Declarative Authorization
- Declarative authorization provides an advanced and powerful solution for role-based authorization
- 187 Testing Exceptions
- Even well tested code can sometimes raise exceptions. In this episode we show you how to be notified about this and how to resolve these errors by making use of integration tests.
- 182 Cropping Images
- In this episode we create a slick user interface for cropping images using Paperclip and JCrop.
- 181 Include vs Joins
- The find method's include and joins options can be a little confusing as they are so similar. Find out when to use which one in this episode.
- 180 Finding Unused CSS.
- As websites change stylesheets can become filled with unused selectors. The Deadweight gem helps to determine which ones can be removed.
- 179 Seed Data
- Rails 2.3.4 introduces a new convention for creating any seed data that your application needs. This means that you no longer have to put seed data in your migrations.
- 178 七个安全技巧
- Security is paramount in your Rails applications. Here we show seven commons security flaws from mass assignment to CSRF.
- 177 Model Versioning
- If you need to keep track of the changes to an ActiveRecord model and switch between versions the Vestal Versions gem is well worth considering.
- 175 AJAX浏览记录和书签
- AJAX-enabled sites do not usually play well with bookmarking or the brower's page history. In this episode we fix that with a simple jQuery plugin.
- 174 用AJAX进行分页
- Use jQuery to add unobtrusive JavaScript links to a paginated list.
- 172 Touch and Cache
- Rails 2.3.3 has a new feature called 'touch'. In this episode we use it to auto-expire associated caches.
- 171 Delayed Job
- The delayed_job plugin provides an excellent way of getting long running tasks running in the background.
- 169 动态页面缓存
- Use a combination of page caching and JavaScript to create a fast cached page that can still be updated dynamically.
- 168 订阅点解析
- In this episode we use two different techniques to parse an RSS feed with Feedzirra.
- 167 更多关于虚拟属性
- Make use of virtual attributes and callbacks to implement tagging in a blogging application.
- 165 批量修改记录
- Select multiple records with checkboxes and edit them all on one form. Find out how to use virtual attributes to update values relatively.
- 163 自引用关联
- In this episode we create a small social networking application and use a self-referential association to link users with their friends.
- 155 Beginning With Cucumber
- Cucumber is a testing framework that lets you develop with Behaviour-Driven Development. We develop a new application using BDD in this episode.
- 154 多态关联
- Polymorphic associations can be a little tricky to understand. In this episode we'll show you how to create one and use it in controllers and views.
- 136 jQuery
- In this episode we recreate the AJAX form submission we did back in episode 43 but with jQuery instead of Prototype and RJS.
- 134 Paperclip
- Paperclip makes it easy to add attachments to a model. Find out how in this episode.
- 16 Virtual Attributes
- Keep your forms flexible by adding virtual attributes to your model. This powerful technique allows you to create form fields which may not directly relate to the database.