Просто подумал, что обновлю это для Rails 3. У меня есть поле 'веб-сайт' в моей пользовательской модели, которое будет действовать как маршрут тщеславия, и я собираюсь направить на статическую страницу для каждого маршрута тщеславия. Я хочу отобразить все пользовательские события, если маршрут тщеславия называется.
#config/routes.rb
get '/:website', :controller => 'static_pages', :action => 'vanity'
#app/controllers/static_pages_controller.rb
def vanity
@user = User.find_by_website(params[:website])
if @user != nil #in case someone puts in a bogus url I redirect to root
@events = @user.events
else
redirect_to :root
end
end
#app/views/static_pages/vanity.html.erb
<h1><%= @user.website %> events</h1>
<table>
<tr>
<th>Title</th>
<th>Starts at</th>
<th>Description</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @events.each do |event| %>
<tr>
<td><%= event.title %></td>
<td><%= event.starts_at %></td>
<td><%= event.description %></td>
</tr>
<% end %>
</table>
Я думаю, что это хорошая альтернатива, если вы не хотите использовать драгоценный камень.