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 ?
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"
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 ?