Assignment Help logo
Trò Chuyện Trực Tuyến

Loading...

Score %0 (0 correct0 incorrect20 unanswered)

Q1. Khi hiển thị một phần bằng cách gọi hàm render trong một view, làm sao để truyền biến cục bộ để hiển thị?

  • <%= render partial: "nav", selected: "about"}%>
  • <%= render partial: "nav", local_variables: {selected: "about"} %>
  • <%= render partial: "nav", locals: {selected: "about"}

Q2. Trong một controller Rails, mã nào sẽ ngăn chặn việc chạy before_action của controller cha với tên :get_feature?

  • skip_before_action :get_feature
  • skip :get_feature, except: []
  • prevent_action :get_feature
  • :redis_cache_store

Q3. Câu nào mô tả chính xác sự khác biệt giữa các phương thức helper của form form_tagform_for?

  • Phương thức form_tag dành cho các biểu mẫu cơ bản, trong khi phương thức form_for dành cho các biểu mẫu nhiều phần bao gồm tải lên tập tin.
  • Phương thức form_tag dùng cho các yêu cầu HTTP, trong khi phương thức form_for dùng cho các yêu cầu AJAX.
  • Phương thức form_tag thường mong đợi một URL làm đối số đầu tiên, trong khi phương thức form_for thường mong đợi một đối tượng mẫu.
  • Phương thức form_tag được đánh giá tại thời điểm chạy, trong khi phương thức form_for được biên dịch trước và được lưu trữ vào bộ nhớ cache.

Q4. before_action (trước đây là before_filter) là gì?

  • Một trigger được thực thi trước một sự thay đổi trạng thái của một đối tượng
  • Một phương thức được thực thi trước khi một mô hình ActiveRecord được lưu
  • Một callback được kích hoạt trước khi một sự kiện được xử lý
  • Một phương thức trong một controller được thực thi trước phương thức hành động của controller

Q5. Module nào bạn có thể sử dụng để đóng gói một phần chức năng đồng nhất vào một mixin?

  • ActiveSupport::Concern
  • RailsHelper.CommonClass
  • ActiveJob::Mixin
  • ActiveSupport::Module

Q6. Trong Rails, bạn sẽ sử dụng mã nào để định nghĩa một tuyến đường xử lý cả hai phương thức HTTP PUTPATCH?

  • put :items, include: patch
  • put 'items', to: 'items#update'
  • match 'items', to 'items#update', via: [:put, :patch]
  • match :items, using: put && patch

Q7. Lựa chọn nào bao gồm các phương thức HTTP REST tiêu chuẩn?

  • GET, POST, PATCH, DELETE
  • REDIRECT, RENDER, SESSION, COOKIE
  • INDEX, SHOW, NEW, CREATE, EDIT, UPDATE, DESTROY
  • CREATE, READ, UPDATE, DELETE

Q8. Truy vấn ActiveRecord nào ngăn chặn tấn công SQL injection?

  • Product.where("name = #{@keyword}")
  • Product.where("name = " << @keyword}
  • Product.where("name = ?", @keyword
  • Product.where("name = " + h(@keyword)

Q9. Cho đoạn mã này, câu nào về bảng cơ sở dữ liệu "documents" có thể được mong đợi là đúng?

class Document < ActiveRecord::Base
  belongs_to :documentable, polymorphic: true
end

class Product < ActiveRecord::Base
  has_many :documents, as: :documentable
end

class Service < ActiveRecord::Base
  has_many :documents, as: :documentable
end
  • Nó sẽ bao gồm một cột cho :type.
  • Nó sẽ bao gồm các cột cho :documentable_id:documentable_type.
  • Nó sẽ bao gồm các cột cho :documentable:type.
  • Nó sẽ bao gồm một cột cho :polymorphic_type.

Q10. Các biến thể được thiết lập trong một phương thức của controller có thể truy cập được trong một view không?

  • Có, bất kỳ biến thể nào được thiết lập trong một phương thức hành động trên một controller đều có thể truy cập và hiển thị trong một view.
  • Có, các biến thể được thiết lập trong một phương thức hành động là có thể truy cập trong một view, nhưng chỉ khi gọi rõ ràng render bên trong phương thức hành động.
  • Không, các biến thể trong một controller là riêng tư và không thể truy cập được.
  • Không, các biến thể không bao giờ có thể được thiết lập trong một phương thức hành động của controller.

Q11. Khi một kiểm tra hợp lệ của một trường trong một mô hình Rails thất bại, thông điệp lỗi kiểm tra được lưu ở đâu?

  • `my_model.errors[:field

]`

  • my_model.get_errors_for(:field)
  • my_model.field.error
  • my_model.all_errors.select(:field)

Q12. Nếu một bảng cơ sở dữ liệu của người dùng chứa các hàng sau đây và id là khóa chính, câu nào sẽ trả về chỉ một đối tượng có last_name là "Cordero"?

-------------------------------

| id | first_name | last_name |
|----|------------|-----------|
| 1  | Alice      | Anderson  |
| 2  | Bob        | Buckner   |
| 3  | Carrie     | Cordero   |
| 4  | Devon      | Dupre     |
| 5  | Carrie     | Eastman   |

-------------------------------
  • User.where(first_name: "Carrie")
  • User.not.where(id: [1, 2, 4, 5])
  • User.find_by(first_name: "Cordero")
  • User.find(3)

Q13. Làm thế nào để tạo một menu thả xuống cho phép người dùng chọn từ một bộ sưu tập tên sản phẩm?

  • <%= select_tag(@products) %>
  • <%= collection_select(@products) %>
  • <select name="product_id"> <%= @products.each do |product| %> <option value="<%= product.id %>"/> <% end %></select>
  • <%= collection_select(:product, :product_id, Product.all, :id, :name) %>

Q14. Đối với một validator Rails, làm thế nào để xác định một thông báo lỗi cho thuộc tính mô hình address với thông điệp "Địa chỉ này không hợp lệ"?

  • model.errors = This address is invalid
  • errors(model, :address) << "This address is invalid"
  • display_error_for(model, :address, "This address is invalid")
  • model.errors[:address] << "This address is invalid"

Validator Tùy chỉnh

Q15. Cho URL helper product_path(@product), câu nào sẽ được mong đợi là sai?

  • Nếu gửi bằng cách sử dụng phương thức PATCH HTTP, URL có thể được sử dụng để cập nhật một sản phẩm trong cơ sở dữ liệu.
  • Nếu gửi bằng cách sử dụng phương thức POST HTTP, URL sẽ tạo một sản phẩm mới trong cơ sở dữ liệu.
  • Nếu gửi bằng cách sử dụng phương thức GET HTTP, URL sẽ thực hiện hành động show trong ProductsController.
  • Nếu gửi bằng cách sử dụng phương thức DELETE HTTP, URL sẽ gọi mặc định hành động destroy.

Q16. Cho đoạn mã này, lựa chọn nào dưới đây sẽ là một câu đúng nếu người dùng yêu cầu hành động index?

class DocumentsController < ApplicationController
  before_action :require_login
  def index
    @documents = Document.visible.sorted
  end
end
  • Các tài liệu của người dùng sẽ được tải.
  • Hành động index sẽ chạy bình thường vì :index không được liệt kê là một đối số cho before_action.
  • Phương thức require_login sẽ tự động đăng nhập người dùng trước khi chạy hành động index.
  • Hành động index sẽ không chạy nếu phương thức require_login gọi render hoặc redirect_to.

Q17. Trong Rails, bạn sẽ làm thế nào để cache một template phần được hiển thị?

  • render partial: 'shared/menu', cached: true
  • render_with_cache partial: 'shared/menu'
  • render partial: 'shared/menu'
  • render partial: 'shared/menu', cached_with_variables: {}

Q18. Lý do sử dụng Concerns trong Rails là gì?

  • Concerns cho phép tính module và tái sử dụng mã trong các mô hình, controller và các lớp khác.
  • Concerns được sử dụng để phân tách các phương thức lớp từ các mô hình.
  • Concerns được sử dụng để tăng cường bảo mật cho các ứng dụng Rails.
  • Concerns được sử dụng để tái cấu trúc các view Rails.

Q19. Khi sử dụng một mô hình ActiveRecord, phương thức nào sẽ tạo ra một thể hiện mô hình trong bộ nhớ và lưu nó vào cơ sở dữ liệu?

  • build
  • new
  • create
  • save

Tham Khảo

Q20. Bạn đang sử dụng một cơ sở dữ liệu hiện có có một bảng có tên coffee_orders. Mô hình ActiveRecord sẽ mang tên gì để sử dụng bảng đó?

  • CoffeeOrders
  • Coffee_Orders
  • Coffee_Order
  • CoffeeOrder