Ruby on Rails

āļŸāļ­āļĢāđŒāļĄ Rails

form_with, model forms, form_for legacy, strong parameters, nested attributes, file uploads

20 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Mid-Level
1

form helper āđƒāļ”āļ—āļĩāđˆāđāļ™āļ°āļ™āļģāđƒāļ™ Rails 5.1+ āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļŸāļ­āļĢāđŒāļĄ?

āļ„āļģāļ•āļ­āļš

form_with āļ„āļ·āļ­ helper āđāļšāļšāļĢāļ§āļĄāļ—āļĩāđˆāđ€āļ›āļīāļ”āļ•āļąāļ§āđƒāļ™ Rails 5.1 āļ‹āļķāđˆāļ‡āđāļ—āļ™āļ—āļĩāđˆ form_for āđāļĨāļ° form_tag āđ‚āļ”āļĒāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļˆāļ°āļŠāļĢāđ‰āļēāļ‡āļŸāļ­āļĢāđŒāļĄāļ”āđ‰āļ§āļĒ remote: true (āļ„āļģāļ‚āļ­ AJAX) āđāļĨāļ°āļ—āļģāđƒāļŦāđ‰āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™āļ”āđ‰āļ§āļĒāļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļ§āđˆāļēāļĄāļĩāļāļēāļĢāļŠāđˆāļ‡āļ­āđ‡āļ­āļšāđ€āļˆāļāļ•āđŒāđ‚āļĄāđ€āļ”āļĨāđ€āļ‚āđ‰āļēāļĄāļēāļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļāļēāļĢāļĢāļ§āļĄāļ™āļĩāđ‰āļĨāļ”āļ„āļ§āļēāļĄāļŠāļąāļšāļŠāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡ helper āđ€āļāđˆāļēāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ•āļąāļ§āđāļĨāļ°āđƒāļŦāđ‰ API āļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļ™āļĄāļēāļāļ‚āļķāđ‰āļ™

2

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡ form_with model: @user āđāļĨāļ° form_with url: users_path āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ model: @user, Rails āļˆāļ°āļāļģāļŦāļ™āļ” URL āđāļĨāļ°āđ€āļĄāļ˜āļ­āļ” HTTP āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļ•āļēāļĄāļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ­āđ‡āļ­āļšāđ€āļˆāļāļ•āđŒ (new_record? āļŦāļĢāļ·āļ­ persisted?) āļŠāļģāļŦāļĢāļąāļšāđ€āļĢāļ„āļ„āļ­āļĢāđŒāļ”āđƒāļŦāļĄāđˆāļˆāļ°āđƒāļŠāđ‰ POST āđ„āļ›āļĒāļąāļ‡ users_path āļŠāļģāļŦāļĢāļąāļšāđ€āļĢāļ„āļ„āļ­āļĢāđŒāļ”āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āļˆāļ°āđƒāļŠāđ‰ PATCH āđ„āļ›āļĒāļąāļ‡ user_path(@user) āļŠāđˆāļ§āļ™ url: users_path āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļ URL āđāļĨāļ°āđ€āļĄāļ˜āļ­āļ” HTTP āļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāļ”āđ‰āļ§āļĒāļ•āļ™āđ€āļ­āļ‡

3

āļˆāļ°āļ›āļīāļ”āļāļēāļĢāļŠāđˆāļ‡āđāļšāļš AJAX āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ‚āļ­āļ‡ form_with āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ„āļ”āđ‰āļāļēāļĢāļŠāđˆāļ‡āđāļšāļš HTML āļ„āļĨāļēāļŠāļŠāļīāļāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

āđ‚āļ”āļĒāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ form_with āļˆāļ°āļŠāļĢāđ‰āļēāļ‡āļŸāļ­āļĢāđŒāļĄāļ—āļĩāđˆāļĄāļĩ data-remote='true' āļ‹āļķāđˆāļ‡āļŠāđˆāļ‡āļ„āļģāļ‚āļ­ AJAX āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļēāļĢāļŠāđˆāļ‡āđāļšāļš HTML āļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄāļžāļĢāđ‰āļ­āļĄāļāļēāļĢāđ‚āļŦāļĨāļ”āļŦāļ™āđ‰āļēāđƒāļŦāļĄāđˆ āļ•āđ‰āļ­āļ‡āđ€āļžāļīāđˆāļĄ local: true āļ•āļąāđ‰āļ‡āđāļ•āđˆ Rails 6.1 āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™āđ„āļ› āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļžāļĪāļ•āļīāļāļĢāļĢāļĄāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđāļšāļšāļ—āļąāđˆāļ§āļ—āļąāđ‰āļ‡āļĢāļ°āļšāļšāļœāđˆāļēāļ™ config.action_view.form_with_generates_remote_forms

4

āļšāļ—āļšāļēāļ—āļ‚āļ­āļ‡ strong parameters āđƒāļ™āļšāļĢāļīāļšāļ—āļ‚āļ­āļ‡āļŸāļ­āļĢāđŒāļĄ Rails āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

5

āļˆāļ°āļāļģāļŦāļ™āļ”āđ€āļĄāļ˜āļ­āļ” strong parameters āļŠāļģāļŦāļĢāļąāļšāđ‚āļĄāđ€āļ”āļĨ Article āļ—āļĩāđˆāļĄāļĩ title āđāļĨāļ° content āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

+17 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Ruby on Rails āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ Ruby

Junior
25 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļŠāļīāļ‡āļ§āļąāļ•āļ–āļļāđƒāļ™ Ruby

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Rails

Junior
18 āļ„āļģāļ–āļēāļĄ

Routing & Controllers

Junior
22 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ ActiveRecord

Junior
25 āļ„āļģāļ–āļēāļĄ

Views āđāļĨāļ° ERB Templates

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāđ‚āļĒāļ‡āļ‚āļ­āļ‡ ActiveRecord

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļŠāļ­āļšāļ–āļēāļĄ ActiveRecord āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Mid-Level
28 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ•āļąāļ§āļ•āļ™āđāļĨāļ°āļāļēāļĢāļ­āļ™āļļāļāļēāļ•

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Asset Pipeline āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆāđāļĨāļ° frontend

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āđ‚āļŦāļĄāļ” API āļ‚āļ­āļ‡ Rails

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ”āđ‰āļ§āļĒ RSpec

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

ActiveJob & Background Jobs

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

ActionCable & WebSockets

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

ActionMailer

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

ActiveStorage

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļĨāļĒāļļāļ—āļ˜āđŒāļāļēāļĢ Caching

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢ Migration āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Rails Engines āđāļĨāļ°āđāļ­āļ›āđāļšāļšāđ‚āļĄāļ”āļđāļĨāļēāļĢāđŒ

Senior
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāļ—āļģāļ‡āļēāļ™

Senior
26 āļ„āļģāļ–āļēāļĄ

Design Patterns āđƒāļ™ Rails

Senior
22 āļ„āļģāļ–āļēāļĄ

āđ€āļĄāļ•āļēāđ‚āļ›āļĢāđāļāļĢāļĄāļĄāļīāļ‡āđƒāļ™ Ruby

Senior
20 āļ„āļģāļ–āļēāļĄ

āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡ Rails

Senior
22 āļ„āļģāļ–āļēāļĄ

GraphQL āļāļąāļš Rails

Senior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ”āļĩāļžāļĨāļ­āļĒāđāļĨāļ°āđ‚āļ›āļĢāļ”āļąāļāļŠāļąāļ™

Senior
20 āļ„āļģāļ–āļēāļĄ

Monitoring & Logging

Senior
20 āļ„āļģāļ–āļēāļĄ

āļāļĨāļĒāļļāļ—āļ˜āđŒāļāļēāļĢāļ­āļąāļ›āđ€āļāļĢāļ” Rails

Senior
18 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Ruby on Rails āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ