Rails 3 in action
Summary Rails 3 in Action is a collaboration between Rails community leaders, Ryan Bigg and Yehuda Katz, that covers Rails 3.1 making it the most up-to-date resource available. But it's much more than just a Rails 3 reference book. You'll learn to do Rails the right way, so you can build s...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
[Place of publication not identified]
Manning Publications
2011
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628652006719 |
Tabla de Contenidos:
- Machine generated contents note: 1.Ruby on Rails, the framework
- 1.1.What is Ruby on Rails?
- Benefits
- Common terms
- Rails in the wild
- 1.2.Developing your first application
- Installing Rails
- Generating an application
- Starting the application
- Scaffolding
- Migrations
- Viewing and creating purchases
- Validations
- Showing off
- Routing
- Updating
- Deleting
- 1.3.Summary
- 2.Testing saves your bacon
- 2.1.Test-and behavior-driven development
- 2.2.Test-driven development
- Why test?
- Writing your first test
- Saving bacon
- 2.3.Behavior-driven development
- RSpec
- Cucumber
- 2.4.Summary
- 3.Developing a real Rails application
- 3.1.Application setup
- The application story
- Version control
- The Gemfile and generators
- Database configuration
- Applying a stylesheet
- 3.2.First steps
- Creating projects
- RESTful routing
- Committing changes
- Setting a page title
- Validations
- 3.3.Summary
- 4.Oh CRUD!
- 4.1.Viewing projects
- Writing a feature
- The Factory Girl
- Adding a link to a project
- 4.2.Editing projects
- The edit action
- The update action
- 4.3.Deleting projects
- Writing a feature
- Adding a destroy action
- Looking for what isn't there
- 4.4.Summary
- 5.Nested resources
- 5.1.Creating tickets
- Nested routing helpers
- Creating a tickets controller
- Defining a has_many association
- Creating tickets within a project
- Finding tickets scoped by project
- Ticket validations
- 5.2.Viewing tickets
- Listing tickets
- Culling tickets
- 5.3.Editing tickets
- Adding the edit action
- Adding the update action
- 5.4.Deleting tickets
- 5.5.Summary
- 6.Authentication and basic authorization
- 6.1.What Devise does
- Installing Devise
- 6.2.User signup
- 6.3.Confirmation link sign-in
- Testing email
- Confirming confirmation
- 6.4.Form sign-in
- 6.5.Linking tickets to users
- Attributing tickets to users
- We broke something!
- Fixing the Viewing Tickets feature
- Fixing the Editing Tickets feature
- Fixing the Deleting Tickets feature
- 6.6.Summary
- 7.Basic access control
- 7.1.Projects can be created only by admins
- 7.2.Adding the admin field to the users table
- 7.3.Restricting actions to admins only
- Fixing three more broken scenarios
- Hiding the New Project link
- Hiding the edit and delete links
- 7.4.Namespace routing
- 7.5.Namespace-based CRUD
- Adding a namespace root
- The index action
- The new action
- The create action
- 7.6.Creating admin users
- 7.7.Editing users
- The show action
- The edit and update actions
- 7.8.Deleting users
- Ensuring you can't delete yourself
- 7.9.Summary
- 8.More authorization
- 8.1.Restricting read access
- 8.2.Restricting by scope
- 8.3.Fixing what you broke
- Fixing Editing Projects
- Fixing the four failing features
- One mare thing
- Fixing Signing Up
- 8.4.Blocking access to tickets
- Locking out the bad guys
- 8.5.Restricting write access
- Rewriting a feature
- Blocking creation
- What is CanCan?
- Adding abilities
- 8.6.Restricting update access
- No updating for you!
- Authorizing editing
- 8.7.Restricting delete access
- Enforcing destroy protection
- Hiding links based on permission
- 8.8.Assigning permissions
- Viewing projects
- And the rest
- 8.9.Seed data
- 8.10.Summary
- 9.File uploading
- 9.1.Attaching a File
- A feature featuring files
- Enter stage right, Paperclip
- Using Paperclip
- 9.2.Attaching many files
- Two more files
- Using nested attributes
- 9.3.Serving files through a controller
- Protecting files
- Showing your assets
- Public assets
- Privatizing assets
- 9.4.Using JavaScript
- JavaScript testing
- Introducing jQuery
- Adding more files with JavaScript
- Responding to an asynchronous request
- Sending parameters for an asynchronous request
- 9.5.Summary
- 10.Tracking state
- 10.1.Leaving a comment
- Where's the ticket?
- The comment form
- The comment model
- The comments controller
- 10.2.Changing a ticket's state
- Creating the State model
- Selecting states
- Callbacks
- Seeding states
- Fixing creating comments
- 10.3.Tracking changes
- Ch-ch-changes
- Another c-c-callback
- Displaying changes
- Show me the page
- Automatic escaping saves your bacon
- Styling states
- 10.4.Managing states
- Adding additional states
- Defining a default slate
- 10.5.Locking down states
- Hiding a select box
- Bestowing changing slate permissions
- Hacking a form
- Ignoring a parameter
- 10.6.Summary
- 11.Tagging
- 11.1.Creating tags
- Creating tags feature
- Using text_field_tag
- Showing tags
- Defining the tags association
- The Tag model
- Displaying a ticket's tags
- 11.2.Adding more tags
- Adding tags through a comment
- Fixing the CommentsController spec
- 11.3.Tag restriction
- Testing tag restriction
- Tags are allowed, for some
- 11.4.Deleting a tag
- Testing tag deletion
- Adding a link to delete the tag
- Actually removing a tag
- 11.5.Finding tags
- Testing search
- Searching by stale with Searcher
- Searching by state
- Search, but without the search
- 11.6.Summary
- 12.Sending email
- 12.1.Sending ticket notifications
- Automatically watching a ticket
- Using observers
- Defining the watchers association
- Introducing Action Mailer
- An Action Mailer template
- Delivering HTML emails
- 12.2.Subscribing to updates
- Testing comment subscription
- Automatically adding a user to a watchlist
- Unsubscribing from ticket notifications
- 12.3.Real-world email
- Testing real-world email
- Configuring Action Mailer
- Connecting to Gmail
- 12.4.Receiving emails
- Setting a reply-to address
- Receiving a reply
- 12.5.Summary
- 13.Designing an API
- 13.1.The projects API
- Your first API
- Serving an API
- API authentication
- Error reporting
- Serving XML
- Creating projects
- Restricting access to only admins
- A single project
- No project for you!
- Updating a project
- Exterminate!
- 13.2.Beginning the tickets API
- 13.3.Rate limiting
- One request, two request, three request, four
- No more, thanks!
- Back to zero
- 13.4.Versioning an API
- Creating a new version
- 13.5.Summary
- 14.Deployment
- 14.1.Server setup
- Setting up a server using VirtualBox
- Installing the base
- 14.2.RVM and Ruby
- Installing RVM
- Installing Ruby
- 14.3.Creating a user for the app
- Key-based authentication
- Disabling password authentication
- 14.4.The database server
- Creating a database and user
- Ident authentication
- 14.5.Deploy away!
- Deploy keys
- Configuring Capistrano
- Setting up the deploy environment
- Deploying the application
- Bundling gems
- Choosing a database
- 14.6.Serving requests
- Installing Passenger
- An init script
- 14.7.Summary
- 15.Alternative authentication
- 15.1.How OAuth works
- 15.2.Twitter authentication
- Selling up OmniAuth
- Registering an application with Twitter
- Setting up an OmniAuth testing environment
- Testing Twitter sign-in
- 15.3.GitHub authentication
- Registering and testing GitHub auth
- 15.4.Summary
- 16.Basic performance enhancements
- 16.1.Pagination
- Introducing Kaminari
- Paginating an interface
- Paginating an API
- 16.2.Database query enhancements
- Eager loading
- Database indexes
- 16.3.Page and action caching
- Caching a page
- Caching an action
- Cache sweepers
- Client-side caching
- Caching page fragments
- 16.4.Background workers
- 16.5.Summary
- 17.Engines
- 17.1.A brief history of engines
- 17.2.Why engines are useful
- 17.3.Brand-new engine
- Creating an engine
- The layout of an engine
- Engine routing
- 17.4.Setting up a testing environment
- Removing Test: Unit
- Installing RSpec and Capybara
- 17.5.Writing your first engine feature
- Your first Capybara test
- Setting up routes
- The topics controller
- The index action
- The new action
- The create action
- The show action
- Showing an association count
- 17.6.Adding more posts to topics
- 17.7.Classes outside your control
- Engine configuration
- A fake User model
- Authenticating topics
- Adding authorship to topics
- Post authentication
- Showing the last post
- 17.8.Releasing as a gem
- 17.9.Integrating with an application
- 17.10.Summary
- 18.Rack-based applications
- 18.1.Building Rack applications
- A basic. Rack application
- 18.2.Building bigger Rack applications
- You're breaking up
- Running a combined Rack application
- 18.3.Mounting a Rack application with Rails
- Mounting Heartbeat
- Introducing Sinatra
- The API, by Sinatra
- Basic error checking
- 18.4.Middleware
- Middleware in Rails
- Investigating ActionDispatch: Static
- Crafting middleware
- 18.5.Summary.