Как создать URL перенаправления из формы - PullRequest
0 голосов
/ 07 ноября 2018

У пользователя есть список. Например, у пользователя 1 есть листинг 2. Текущий URL будет выглядеть примерно так:

http://localhost:3000/listings/2

Я хочу позволить пользователям настраивать свои собственные обратные ссылки для своих списков, например:

http://localhost:3000/uniquelistingname

В идеале, я бы хотел, чтобы URL-адрес листинга оставался уникальным, но перенаправление подойдет.

Я нашел удобный URL-адрес, но не уверен, что он полностью соответствует моим потребностям. Кажется, что URL-адрес может быть параметром, а не полностью настроенным, который должен быть уникальным. Какие у вас есть предложения о том, как мне поступить по этому поводу?

1 Ответ

0 голосов
/ 07 ноября 2018

Один из вариантов - создать для нее отдельную модель, например с именем UserListingLink, которая выглядит следующим образом:

class UserListingLink < ApplicationRecord
  belongs_to :user
  belongs_to :listing

  validates :link, uniqueness: true
end

и просто разрешите пользователям редактировать его. Затем вы можете перенаправить своих пользователей по маршрутам (поместите его в самый низ, чтобы другие маршруты, такие как localhost: 3000 / posts продолжали работать):

routes.rb:

get '/:user_link', to: 'user_listings#show'

и просто перенаправьте или покажите все, что вы хотите в этом контроллере:

class UserListingsController < ApplicationController
  def show
    listing = UserListingLink.find_by(link: params[:user_link]).listing
    redirect_to listings_path(listing)
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...