2012-12-19 12 views
6

Mam następujący prosty problem z szynami.rails: renderuj kolekcję modeli przy użyciu określonego widoku html

Powiedzmy, że mam model użytkownika. W widoku, jeśli zrobić:

<%= render User.all %> 

widoku plików w widokach/user/_user.html.erb będzie nazwane i drukowane dla każdego z użytkowników.

Jak mogę to zmienić, aby użyć określonego widoku? Potrzebuję coś takiego:

<%= render :data=>User.all :template=>"user/_user_2ndview.html"%> 

Każda pomoc? Dzięki z góry

+0

Czy naprawdę masz zmienną instancji o nazwie '@ User' lub czy jest to literówka? –

+0

@Daniel Poprawiono – Mateu

Odpowiedz

8

Można użyć opcji collection:

<%= render :collection => User.all, :partial => "users/user2ndview", 
      :as => :user %> 

Widok musi być umieszczony w widokach/Użytkownicy/_user2ndview

Zobacz Rails guides on rendering collections więcej szczegółów.

+0

Pojawił się błąd: niezdefiniowana zmienna lokalna lub metoda 'user 'dla # <# : 0xb5da7608> Przyczyna w _user_2ndview.html Używam <% = user.name%> Jak mogę tell render, aby ustawić użytkowników na zmiennego o nazwie użytkownik? – Mateu

+0

Zaktualizowałem moją odpowiedź. –

+0

<% = render: collection => User.all,: template => "user/_user_2ndview.html" jako: "user"%> – RakuN

Powiązane problemy