Что является стандартом для применения значений по умолчанию к моделям Rails из ссылок? Вот ситуация:
В Spree существует модель ProductGroup, представляющая собой набор настроек, определяющих, как найти продукт (на основе набора значений свойств, которые вы установили). Я хочу иметь возможность использовать эту структуру для определения общих групп товаров:
- Продукты для мероприятий
- Подписные товары
- Билеты
- Пожертвования
...
Так что, если я нахожусь на странице «Создать событие», и пользователь нажимает «Создать заявки», я хочу, чтобы он перенес их на страницу «Группы товаров», чтобы они могли создать новую группу товаров для этого события, скажем «My Cool Событие Продукты ".
Я хочу сделать это как можно проще, без необходимости переопределять / расширять контроллеры / модели. Решение, которое я подумываю об использовании, состоит в том, чтобы передать хэш :defaults
из метода link_to
в виде в контроллер, например:
<%= link_to "Create Event-related Products", new_admin_product_group_url(:defaults => {:name => "Event Name and Date: " + Time.now.to_s}) %>
Теперь я могу написать общий плагин, который просто применяет к модели любые свойства внутри params[:defaults]
в контроллере.
Есть ли что-то подобное там? Или есть лучший / рекомендуемый способ сделать это, возможно, с определением пользовательского типа product_groups_with_event_defaults_url
? Или, может быть, что-то делать с request.env['HTTP_REFERER']
, хотя это не очень надежно.
Суть в том, что я все еще хочу красивые URL, поэтому ничего из этого:
<a href="http://localhost:3000/admin/commerce/product_groups/new?defaults%5Bname%5D=Event+Name+and+Date%3A+Mon+Jan+25+21%3A03%3A05+-0700+2010" rel="nofollow noreferrer">http://localhost:3000/admin/commerce/product_groups/new?defaults%5Bname%5D=Event+Name+and+Date%3A+Mon+Jan+25+21%3A03%3A05+-0700+2010</a>