Atjaunināt sīkdatņu piekrišanu

E-grāmata: Rails 4 in Action: Revised Edition of Rails 3 in Action

4.00/5 (40 ratings by Goodreads)
  • Formāts: 576 pages
  • Izdošanas datums: 30-Aug-2015
  • Izdevniecība: Manning Publications
  • Valoda: eng
  • ISBN-13: 9781638351696
Citas grāmatas par šo tēmu:
  • Formāts - EPUB+DRM
  • Cena: 44,09 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Ielikt grozā
  • Pievienot vēlmju sarakstam
  • Šī e-grāmata paredzēta tikai personīgai lietošanai. E-grāmatas nav iespējams atgriezt un nauda par iegādātajām e-grāmatām netiek atmaksāta.
  • Formāts: 576 pages
  • Izdošanas datums: 30-Aug-2015
  • Izdevniecība: Manning Publications
  • Valoda: eng
  • ISBN-13: 9781638351696
Citas grāmatas par šo tēmu:

DRM restrictions

  • Kopēšana (kopēt/ievietot):

    nav atļauts

  • Drukāšana:

    nav atļauts

  • Lietošana:

    Digitālo tiesību pārvaldība (Digital Rights Management (DRM))
    Izdevējs ir piegādājis šo grāmatu šifrētā veidā, kas nozīmē, ka jums ir jāinstalē bezmaksas programmatūra, lai to atbloķētu un lasītu. Lai lasītu šo e-grāmatu, jums ir jāizveido Adobe ID. Vairāk informācijas šeit. E-grāmatu var lasīt un lejupielādēt līdz 6 ierīcēm (vienam lietotājam ar vienu un to pašu Adobe ID).

    Nepieciešamā programmatūra
    Lai lasītu šo e-grāmatu mobilajā ierīcē (tālrunī vai planšetdatorā), jums būs jāinstalē šī bezmaksas lietotne: PocketBook Reader (iOS / Android)

    Lai lejupielādētu un lasītu šo e-grāmatu datorā vai Mac datorā, jums ir nepieciešamid Adobe Digital Editions (šī ir bezmaksas lietotne, kas īpaši izstrādāta e-grāmatām. Tā nav tas pats, kas Adobe Reader, kas, iespējams, jau ir jūsu datorā.)

    Jūs nevarat lasīt šo e-grāmatu, izmantojot Amazon Kindle.

DESCRIPTION

Ruby on Rails is an open source web framework. It's famously simple to build a basic Rails application. Once you've started down the track, however, you discover that Rails is a powerful, deep, and rich full-stack platform capable of tackling virtually any development challenge.





Rails 4 in Action is a fully-revised second edition of Rails 3 in Action. This hands-on, comprehensive introduction to Rails gives readers everything they need to become competent and confident Rails developers. It shows how to develop a ticket tracking application that includes RESTful routing, authentication and authorization, file uploads, email, and more. It explores powerful features like designing APIs and building a Rails engine. The book also provides Test Driven Development and Behavior Driven Development in action throughout the bookjust like in a top Rails shop.

 

 

RETAIL SELLING POINTS





Fully updated for Rails 4 New and improved testing examples More options for creating APIs Written by Rails community leaders

 

AUDIENCE

It is helpful for readers to have a background in Ruby, but no prior Rails experience is needed.

 

ABOUT THE TECHNOLOGY

Ruby on Rails, often called Rails, is an open source web framework for the Ruby programming language. Its a full-stack platform capable of tackling virtually any development challenge.
Preface xv
Acknowledgments xvii
About this book xx
1 Ruby on Rails, the framework 1(24)
1.1 Ruby on Rails overview
2(4)
Benefits
2(1)
Ruby gems
3(1)
Common terms
4(1)
Rails in the wild
5(1)
1.2 Developing your first application
6(17)
Installing Rails
6(1)
Generating an application
6(1)
Starting the application
7(1)
Scaffolding
8(1)
Migrations
9(2)
Viewing and creating purchases
11(3)
Validations
14(3)
Routing
17(1)
Updating
18(3)
Deleting
21(2)
1.3 Summary
23(2)
2 Testing saves your bacon 25(14)
2.1 Using TDD and BDD to save your bacon
26(1)
2.2 Test-driven development basics
27(4)
Writing your first test
27(2)
Saving bacon
29(2)
2.3 Behavior-driven development basics
31(7)
Introducing RSpec
31(1)
Writing your first spec
32(1)
Running the spec
33(1)
Much more bacon
34(1)
Expiring bacon
35(3)
2.4 Summary
38(1)
3 Developing a real Rails application 39(45)
3.1 First steps
41(1)
The application story
41(1)
Laying the foundations
41(1)
3.2 Version control
42(4)
Getting started with GitHub
43(1)
Configuring your Git client
44(2)
3.3 Application configuration
46(5)
The Gemfile and generators
47(3)
Database configuration
50(1)
3.4 Beginning your first feature
51(32)
Creating projects
52(3)
Defining a controller action
55(2)
RESTful routing
57(17)
Committing changes
74(1)
Setting a page title
74(3)
Validations
77(6)
3.5 Summary
83(1)
4 Oh, CRUD! 84(40)
4.1 Viewing projects
85(3)
Introducing Factory Girl
85(2)
Adding a link to a project
87(1)
4.2 Editing projects
88(6)
The edit action
88(4)
The update action
92(2)
4.3 Deleting projects
94(3)
4.4 What happens when things can't be found
97(5)
Visualizing the error
98(1)
Handling the ActiveRecord::RecordNotFound exception
99(3)
4.5 Styling the application
102(21)
Installing Bootstrap
103(1)
Improving the page's header
104(2)
Improving the show view
106(1)
Semantic styling
107(6)
Using Simple Form
113(4)
Adding a navigation bar
117(3)
Responsive styling
120(3)
4.6 Summary
123(1)
5 Nested resources 124(24)
5.1 Creating tickets
124(12)
Nested routing helpers
126(1)
Creating a tickets controller
127(1)
Demystifying the new action
128(1)
Defining a has many association
129(2)
Creating tickets in a project
131(2)
Finding tickets scoped by project
133(2)
Ticket validations
135(1)
5.2 Viewing tickets
136(5)
Listing tickets
138(1)
Culling tickets
139(2)
5.3 Editing tickets
141(4)
The ticket-editing spec
141(3)
Adding the edit action
144(1)
Adding the update action
144(1)
5.4 Deleting tickets
145(2)
5.5 Summary
147(1)
6 Authentication 148(22)
6.1 Using Devise
149(3)
6.2 Adding sign-up
152(2)
6.3 Adding sign-in and sign-out
154(7)
Adding sign-in
154(3)
Adding sign-out
157(2)
Styling the Devise views
159(2)
6.4 Linking tickets to users
161(7)
Fixing the failing four features
167(1)
6.5 Summary
168(2)
7 Basic access control 170(45)
7.1 Turning users into admins
171(3)
Adding the admin field to the users table
172(1)
Creating the first admin user
173(1)
7.2 Controller namespacing
174(13)
Generating a namespaced controller
174(3)
Testing a namespaced controller
177(3)
Moving functionality into the admin namespace
180(7)
7.3 Hiding links
187(4)
Hiding the "New Project" link
187(2)
Hiding the delete link
189(2)
7.4 Namespace-based CRUD
191(23)
The index action
193(2)
The new action
195(1)
The create action
196(1)
Creating admin users
197(2)
Editing users
199(4)
The edit and update actions
203(2)
Archiving users
205(5)
Ensuring that you can't archive yourself
210(1)
Preventing archived users from signing in
211(3)
7.5 Summary
214(1)
8 Fine-grained access control 215(68)
8.1 Project-viewing permission
216(20)
Assigning Roles in specs
217(2)
Creating the Role model
219(1)
Setting up Pundit
220(3)
Testing the ProjectPolicy
223(4)
Fixing what you broke
227(3)
Handling authorization errors
230(2)
One more thing
232(4)
8.2 Project-updating permission
236(6)
Testing the ProjectPolicy again
236(2)
Applying the authorization
238(2)
Hiding the "Edit Project" link
240(2)
8.3 Ticket-viewing permission
242(8)
Refactoring policy specs
243(3)
Testing the TicketPolicy
246(3)
Refactoring policies
249(1)
8.4 Ticket-creation permission
250(6)
Testing the TicketPolicy...again
250(2)
Applying the authorization
252(4)
8.5 Ticket-updating permission
256(6)
Testing the TicketPolicy...turbocharged
256(2)
Implementing controller authorization
258(1)
Hiding the "Edit Ticket" link
259(3)
8.6 Ticket-destroying permission
262(4)
Testing the TicketPolicy...for the final time
262(2)
Implementing controller authorization
264(2)
8.7 Ensuring authorization for all actions
266(3)
8.8 Assigning roles to users
269(13)
Planning the permission screen with a feature spec
270(1)
The roles screen
271(1)
Building a list of projects in a select box
271(7)
Processing the submitted role data
278(2)
Saving roles of new users
280(2)
8.9 Summary
282(1)
9 File uploading 283(42)
9.1 Attaching a file
284(9)
A feature featuring files
285(1)
Enter, stage right: CarrierWave
286(1)
Using CarrierWave
287(3)
Persisting uploads when redisplaying a form
290(3)
9.2 Attaching many files
293(9)
Testing multiple-file upload
293(1)
Implementing multiple-file upload
294(4)
Using nested attributes
298(4)
9.3 Serving files through a controller
302(8)
Testing existing functionality
303(1)
Protecting attachments
304(2)
Showing your attachments
306(1)
Public attachments
307(1)
Privatizing attachments
308(2)
9.4 Using JavaScript
310(7)
JavaScript testing
310(2)
Cleaning the database
312(2)
Introducing jQuery
314(2)
Adding more files with JavaScript
316(1)
9.5 Responding to an asynchronous request
317(7)
Appending new content to the form
320(2)
Sending parameters for an asynchronous request
322(2)
9.6 Summary
324(1)
10 Tracking state 325(57)
10.1 Leaving a comment
326(16)
The comment form
328(4)
The comments controller
332(10)
10.2 Changing a ticket's state
342(11)
Creating the State model
343(2)
Selecting states
345(7)
Setting a default state for a comment
352(1)
Seeding your app with states
352(1)
10.3 Tracking changes
353(8)
Ch-ch-changes
353(2)
Another c-c-callback
355(1)
Displaying changes
356(2)
Styling states
358(3)
10.4 Managing states
361(12)
Adding additional states
361(6)
Defining a default state
367(4)
Applying the default state
371(2)
Setting a default state in seed states
373(1)
10.5 Locking down states
373(8)
Hiding a select box
373(2)
Defining the change state permission
375(1)
Hacking a form
376(2)
Ignoring a parameter
378(3)
10.6 Summary
381(1)
11 Tagging 382(38)
11.1 Creating tags
384(7)
The tag-creation feature
384(2)
Showing tags
386(1)
Defining the tags association
387(1)
The Tag model
387(1)
Displaying a ticket's tags
388(3)
11.2 Adding more tags
391(5)
Adding tags through a comment
392(4)
11.3 Tag restriction
396(6)
Testing tag restriction
396(5)
Tags are allowed, for some
401(1)
11.4 Deleting a tag
402(7)
Testing tag deletion
403(1)
Adding a link to delete the tag
404(4)
Removing a tag from the page
408(1)
11.5 Finding tags
409(10)
Testing search
409(3)
Searching by tags
412(4)
Searching by state
416(1)
Search, but without the search
417(2)
11.6 Summary
419(1)
12 Sending email 420(28)
12.1 Sending ticket notifications
421(16)
Automatically watching a ticket
421(2)
Using service classes
423(4)
Defining the watchers association
427(2)
Introducing Action Mailer
429(3)
An Action Mailer template
432(2)
Testing with mailer specs
434(3)
12.2 Subscribing to updates
437(9)
Testing comment subscription
437(2)
Automatically adding the commenter to the watchers list
439(1)
Unsubscribing from ticket notifications
440(6)
12.3 Summary
446(2)
13 Deployment 448(20)
13.1 What is deployment?
449(1)
13.2 Simple deployment with Heroku
450(2)
Signing up
450(1)
Provisioning an app
450(2)
13.3 Twelve-factor apps
452(5)
Configuration
452(1)
Processes
453(1)
Combining Heroku and S3
454(3)
13.4 Deploying Ticketee
457(5)
Fixing deployment issues
458(2)
Fixing CarrierWave file uploads
460(2)
Deploying is hard
462(1)
13.5 Continuous deployment with Travis CI
462(3)
Configuring Travis
462(1)
Deployment hooks
463(2)
13.6 Sending emails
465(2)
13.7 Summary
467(1)
14 Designing an API 468(28)
14.1 An overview of APIs
469(2)
A practical example
470(1)
14.2 Using ActiveModel::Serializers
471(5)
Getting your hands dirty
473(3)
14.3 API authentication and authorization
476(10)
The API namespace
477(4)
A small tangent on inflections
481(2)
Getting back to your API
483(3)
14.4 It's not a party without...HTTParty
486(1)
14.5 Handling errors
487(7)
Authenticating with a blank token
488(1)
Permission denied
489(2)
Validation errors
491(3)
14.6 A small refactoring
494(1)
14.7 Summary
495(1)
15 Rack-based applications 496(27)
15.1 Building Rack applications
497(5)
A basic Rack application
498(1)
Let's increase the heartbeat
499(2)
You're not done yet
501(1)
15.2 Building bigger Rack applications
502(4)
You're breaking up
503(2)
Running a combined Rack application
505(1)
15.3 Mounting a Rack application with Rails
506(11)
Mounting Heartbeat
507(1)
Introducing Sinatra
508(1)
The API, by Sinatra
509(6)
Basic error-checking
515(2)
15.4 Middleware
517(4)
Middleware in Rails
518(1)
Crafting middleware
519(1)
Using middleware
520(1)
15.5 Summary
521(2)
Appendix A Installation Guide 523(12)
Appendix B Why Rails? 535(6)
Index 541
AUTHOR BIO

 





Ryan Bigg is a Rails developer living in Melbourne, Australia, recognized for his prolific and accurate answers on IRC and StackOverflow. He was named a Ruby Hero for his work on the Rails Guides and for being generally helpful in the ROR community.

 









Yehuda Katz is the founder of the EmberJS framework, a former lead developer on SproutCore, and is well-known for his contributions to Rails 4, jQuery, Bundler, and Merb.





 





Steve Klabnik is a member of the Ruby on Rails team. A prolific open source contributor, he's made contributions to a large number of Ruby projects, including Rails, Sinatra, Rubygems, Rubinius, Resque, Draper, and over 20 gems of his own. When he's not speaking at conferences, working on Rails, or training on Ruby and Rails at Jumpstart Lab, he's reading philosophy books and applying their lessons to software.