Rails нуб здесь ищет какой-то совет / направление по чему-то. У меня есть несколько «Страниц», и я хочу создать разные виды этих страниц. (например, просмотр списка (текстовый список), просмотр галереи (миниатюры) и т. д.)
Но то, как я это делаю, не кажется СУХИМЫМ, но я новичок в Rails, поэтому не знаю.
Вот мои настройки. rout.rb У меня есть:
resources :pages do
collection do
get :gallery
end
collection do
get :list
end
end
В моем pages_controller.rb
def gallery
@pages = Page.find(:all, :order => "created_at")
end
def list
@pages = Page.find(:all, :order => "created_at")
end
Так что это уже кажется странным, потому что я дублирую код между списком и галереей.
В views / pages / gallery.html.erb
<% for page in @pages %>
<div style="width:200px;height:200px;border:1px solid #DDD;float:left;margin:10px;">
<%= link_to page.name, page %>
</div>
<% end %>
В views / pages / list.html.erb
<% for page in @pages %>
<div style="width:90%;border-bottom:1px solid #DDD;margin:10px;">
<h3><%= link_to page.name, page %></h3>
</div>
<% end %>
Все работает правильно. Я вижу представление списка, когда я иду на http://localhost:3000/pages/list, и представление галереи на http://localhost:3000/pages/gallery. Но есть ли лучший способ?