Assignment Help logo
Chat en direct

Loading...

Score %0 (0 correct0 incorrect20 unanswered)

Q1. Lors du rendu d'un partiel dans une vue, comment passer des variables locales pour le rendu ?

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

Q2. Dans un contrôleur Rails, quel code empêchera l'exécution du before_action parent :get_feature ?

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

Q3. Quelle déclaration décrit correctement une différence entre les méthodes d'aide au formulaire form_tag et form_for ?

  • La méthode form_tag est pour les formulaires de base, tandis que la méthode form_for est pour les formulaires multipartie qui incluent des téléchargements de fichiers.
  • La méthode form_tag est pour les requêtes HTTP, tandis que la méthode form_for est pour les requêtes AJAX.
  • La méthode form_tag s'attend généralement à une URL comme premier argument, tandis que la méthode form_for s'attend généralement à un objet modèle.
  • La méthode form_tag est évaluée à l'exécution, tandis que la méthode form_for est précompilée et mise en cache.

Q4. Qu'est-ce que before_action (anciennement connu sous le nom de before_filter) ?

  • Un déclencheur qui est exécuté avant une modification de l'état d'un objet
  • Une méthode qui est exécutée avant qu'un modèle ActiveRecord ne soit enregistré
  • Un rappel qui se déclenche avant qu'un événement ne soit traité
  • Une méthode dans un contrôleur qui est exécutée avant la méthode d'action du contrôleur

Q5. Quel module pouvez-vous utiliser pour encapsuler un ensemble cohérent de fonctionnalités dans un mixin ?

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

Q6. Dans Rails, quel code utiliseriez-vous pour définir une route qui gère à la fois les verbes HTTP PUT et PATCH ?

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

Q7. Quel choix inclut les verbes HTTP REST standard ?

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

Q8. Quelle requête ActiveRecord empêche les injections SQL ?

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

Q9. Étant donné ce code, quelle déclaration concernant la table de base de données "documents" pourrait être attendue comme vraie ?

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
  • Elle inclurait une colonne pour :type.
  • Elle inclurait des colonnes pour :documentable_id et :documentable_type.
  • Elle inclurait des colonnes pour :documentable et :type.
  • Elle inclurait une colonne pour :polymorphic_type.

Q10. Les variables d'instance définies dans une méthode de contrôleur sont-elles accessibles dans une vue ?

  • Oui, toutes les variables d'instance définies dans une méthode d'action sur un contrôleur peuvent être accédées et affichées dans une vue.
  • Oui, les variables d'instance définies dans une méthode d'action sont accessibles dans une vue, mais seulement lorsque render est appelé explicitement à l'intérieur de la méthode d'action.
  • Non, les variables d'instance dans un contrôleur sont privées et ne sont pas accessibles.
  • Non, les variables d'instance ne peuvent jamais être définies dans une méthode d'action de contrôleur.

Q11. Lorsqu'une validation d'un champ dans un modèle Rails échoue, où sont stockés les messages pour les erreurs de validation ?

  • my_model.errors[:field]
  • my_model.get_errors_for(:field)
  • my_model.field.error
  • my_model.all_errors.select(:field)

Q12. Si une table de base de données d'utilisateurs contient les lignes suivantes, et id est la clé primaire, quelle déclaration renverrait uniquement un objet dont le last_name est "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. Comment généreriez-vous un menu déroulant permettant à l'utilisateur de sélectionner parmi une collection de noms de produits ?

  • <%= 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. Pour un validateur Rails, comment définiriez-vous un message d'erreur pour l'attribut de modèle address avec le message "Cette adresse est invalide" ?

  • 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 personnalisé

Q15. Étant donné l'aide à l'URL product_path(@product), quelle déclaration serait attendue comme fausse ?

  • Si envoyé en utilisant la méthode HTTP PATCH, l'URL pourrait être utilisée pour mettre à jour un produit dans la base de données.
  • Si envoyé en utilisant la méthode HTTP POST, l'URL créerait un nouveau produit dans la base de données.
  • Si envoyé en utilisant la méthode HTTP GET, l'URL exécuterait l'action show dans ProductsController.
  • Si envoyé en utilisant la méthode HTTP DELETE, l'URL appellerait l'action destroy par défaut.

Q16. Étant donné ce code, quelle déclaration serait attendue comme vraie si l'utilisateur demande l'action index ?

class DocumentsController < ApplicationController
  before_action :require_login
  def index
    @documents = Document.visible.sorted
  end
end
  • Les documents de l'utilisateur seront chargés.
  • L'action index s'exécutera normalement car :index n'est pas répertorié comme argument de before_action.
  • La méthode require_login connectera automatiquement l'utilisateur avant d'exécuter l'action index.
  • L'action index ne sera pas exécutée si la méthode require_login appelle render ou redirect_to.

Q17. Dans Rails, comment mettriez-vous en cache un modèle partiel rendu ?

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

Q18. Quelle est la raison d'utiliser des Concerns dans Rails ?

  • Les Concerns permettent la modularité et la réutilisation de code dans les modèles, les contrôleurs et autres classes.
  • Les Concerns sont utilisés pour séparer les méthodes de classe des modèles.
  • Les Concerns sont utilisés pour augmenter la sécurité des applications Rails.
  • Les Concerns sont utilisés pour refactoriser les vues Rails.

Q19. Lors de l'utilisation d'un modèle ActiveRecord, quelle méthode créera l'instance du modèle en mémoire et l'enregistrera dans la base de données ?

  • build
  • new
  • create
  • save

Référence

Q20. Vous utilisez une base de données existante qui a une table nommée coffee_orders. Comment serait nommé le modèle ActiveRecord pour utiliser cette table ?

  • CoffeeOrders
  • Coffee_Orders
  • Coffee_Order
  • CoffeeOrder