2015-07-21 3 views
0

На нашем веб-сайте я хотел бы, чтобы пользователи могли создавать свой собственный тщеславие/настраиваемый URL-адрес для маркетинговых целей (то есть www.website.com/cakeparty2015 фактически отправляется в www.website.com/cake/party-supplies/2015-inventory).Пользовательский пользовательский URL-адрес с Rails 4

Это НЕ пользовательская страница, созданная пользователем - это уже существующая страница, на которую она будет маршрутизироваться. Единственной новой информацией является пользовательский URL.

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

Чтобы быть немного яснее - с надеждой Я хотел бы пользователю заполнить форму, содержащую:

тщеславия URL -

Фактический URL -

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

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

+0

Возможно, что-то похожее на весь маршрут? Посмотрите [на этот вопрос StackOverflow] (http://stackoverflow.com/questions/13388715/rails-catch-all-route). Оттуда вам просто нужно будет иметь список известных пользовательских URL-адресов и их адресатов и перенаправить. –

+0

У меня сейчас есть это. То, что я пытаюсь сделать, делает так, чтобы пользователь мог создавать свои собственные, без необходимости каждый раз входить в код для обновления списка настраиваемых URL-адресов. –

+0

О, ну, вы бы поместили их в базу данных, не так ли? Разделите входящий URL-адрес на пользовательскую часть, запросите базу данных для него, например 'CustomRoute.find_by (name: name)', и перенаправьте или выйдите из строя, если его там нет. –

ответ

0

Возможно, вы захотите использовать https://github.com/norman/friendly_id.

В этом случае у вас будет поле слизи, и вы можете позволить своим пользователям изменить его.

+0

Проблема в том, что это требует, чтобы я знал, где они будут перенаправляться в первую очередь. Я хотел бы, чтобы пользователь выбрал как собственный URL-адрес, так и его перенаправление. Если я не понимаю, как это работает, с FriendlyId мне нужно будет создать поле для каждого отдельного индекса. –