Вы можете просто добавить несколько ссылок на ту же страницу индекса, но с параметрами запроса к вашему представлению:
= link_to 'All Users', users_path
= link_to 'USA', users_path(country: 'USA')
= link_to 'Australia', users_path(country: 'AUSTRALIA')
= link_to 'Japan', users_path(country: 'JAPAN')
И при использовании добавьте дополнительные условия where
базы данных в свой метод index
в controller:
def index
@users = User.all
@users = @users.where(country: params[:country]) if params[:country].present?
end
Это будет работать, только если страна в вашей базе данных фактически хранится только в верхнем регистре, как вы написали в своем вопросе. Когда он хранится в нижнем регистре или с заголовком, вам нужно будет изменить формат строки запроса или очистить ввод в вашем контроллере.