J'ai un service qui met en place un tableau de Answer
objets, chacun contenant une chaîne pour le texte de réponse, un booléen indiquant si c'est la bonne réponse ou non et son id. Ceci est mon code jusqu'à présent:Rails - Vous ne pouvez pas obtenir seulement quelques-uns des attributs pour tous les objets d'un tableau?
@quiz.questions[current_question_index].answers
Cela fonctionne. Je prends alors ce tableau d'objets de réponse et l'envoie sur un canal ActionCable pour être affiché en tant que boutons - cela fonctionne également.
Mais maintenant, je pense qu'il serait préférable de ne pas envoyer les Answer
ensemble des objets (y compris les informations des réponses est correcte), mais seulement id et le titre alors j'ai essayé de changer mon code selon this post:
@quiz.questions[current_question_index].answers.pluck(:id, :title)
Cela ne fonctionne pas pour moi - tous mes boutons affichent maintenant "undefined". Donc, je l'ai essayé une autre façon selon this post:
@quiz.questions[current_question_index].answers.attributes.slice('id', 'title')
Maintenant, mes boutons ne sont même pas affichés plus ...
Ce que je veux est un tableau d'objets contenant de l'id 'attributs et 'titre' de mon récupéré Answers
.
Quelqu'un peut-il me donner des pointeurs pour résoudre ce problème? Je suis un débutant Rails et j'apprécierais vraiment l'aide.
Ok merci pour l'explication @meta. J'ai donc essayé d'utiliser à nouveau slice et cela me donne un NoMethodError pour 'attributes':/Je pensais que' attributes' était un assistant Rails quand j'ai lu l'autre Stackoverflow, je n'ai pas de modèle ou d'attributs nommés ... – megahra
Et aussi: qu'est ce que le _AR magic_? :) J'ai vérifié le lien, mais je ne comprends pas la différence et pourquoi il n'est pas disponible sur les tableaux (même si je vous crois sur parole). – megahra
J'ai mis à jour ma réponse, s'il vous plaît jeter un oeil – meta