diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index f8b2387..0af40a8 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -3,13 +3,18 @@ class MessagesController < ApplicationController # GET /messages def index - if (query = params[:q]) + if (list_name = params[:list_name]) + @list = List.find_by_name list_name + @messages = Message.where(list_id: @list.id).order(:id) + elsif (query = params[:q]) search query + + render :search else @messages = [] - end - render :search + render :search + end end # GET /messages/ruby-dev/1 diff --git a/app/views/messages/index.html.erb b/app/views/messages/index.html.erb new file mode 100644 index 0000000..c1b3181 --- /dev/null +++ b/app/views/messages/index.html.erb @@ -0,0 +1,13 @@ +<% content_for :title, @list.name %> + +

<%= notice %>

+ +

<%= @list.name %>

+ +<% @messages.each do |message| %> +

+ <%= message.list_seq %>: + <%= link_to without_list_prefix(message.subject), "/#{@list.name}/#{message.list_seq}" %>— <%= message.from %> +

+
<%= message.body %>
+<% end %> diff --git a/config/routes.rb b/config/routes.rb index d410bb9..60f87d3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,6 +1,7 @@ Rails.application.routes.draw do resources :messages get '/:list_name/:list_seq', to: 'messages#show' + get '/:list_name/', to: 'messages#index' # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html