依赖于上下文的模型默认来自link_to的Rails

时间:2010-01-26 03:59:51

标签: ruby-on-rails view controller link-to defaults

从链接向Rails模型应用默认值的标准是什么?情况如下:

Spree中有一个名为ProductGroup的模型,它是定义如何查找产品的设置集合(基于您设置的一组属性值)。我希望能够使用此结构来定义常见的ProductGroups:

  • 活动产品
  • 可订阅产品
  • 门票
  • 捐赠 ...

因此,如果我在“创建活动”页面上,并且用户点击“创建故障单”,我希望将它们带到ProductGroups页面,这样他们就可以为该事件创建一个新的ProductGroup,比如说“我的酷”活动产品“。

我想尽可能简单地执行此操作,而无需覆盖/扩展控制器/模型。我正在考虑使用的解决方案是将: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']有关,但这似乎不太可靠。

问题是,我仍然想要漂亮的网址,所以没有这个:

http://localhost:3000/admin/commerce/product_groups/new?defaults%5Bname%5D=Event+Name+and+Date%3A+Mon+Jan+25+21%3A03%3A05+-0700+2010

0 个答案:

没有答案