Tengo dos modelos en Ruby on Rails, películas y directores. Un director tiene_muchas películas, y una película pertenece_a un director. Estoy creando un miniproyecto, donde si veo a un Director en una página, me gustaría que se muestren todas las películas asociadas con este autor en particular, junto con enlaces a estas películas. Pude hacerlo con una película que mostraba con éxito a su director con un enlace a su página, pero no he podido lograr esto cuando veo a un director. Toda mi investigación hasta ahora me ha llevado a
<%= director.movies.uniq.pluck(:nombre) %>
pero eso solo muestra las cadenas :name dentro de un formato de matriz, lo cual no es óptimo. Me gustaría saber si hay alguna manera de acceder a los valores de identificación almacenados en has_many. Porque tiene que funcionar como una matriz, que guarda los identificadores, para que el programa sepa qué películas pertenecen a qué director. Corríjame si me equivoco en esta suposición, todavía estoy aprendiendo y agradeceré cualquier aporte sobre este asunto.
Para lograr esto, deberá iterar sobre la matriz de instancias de Movie que pertenecen a una instancia de Director . Puede acceder a esta matriz (que en realidad es un proxy de colección ) con director.movies (suponiendo que director sea una instancia de Director ). Entonces podrá acceder a los valores de cada instancia.
Su código puede ser algo como esto:
<ul> <% director.movies.each do |movie| %> <li><%= link_to movie.name, movie_path(movie) %></li> <% end %> </ul>