Rails 3 HABTM表单,如何实现长尾词下拉菜单?

2026-04-11 17:392阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计360个文字,预计阅读时间需要2分钟。

Rails 3 HABTM表单,如何实现长尾词下拉菜单?

我有发票表格。这是一个简化版本:包含项目,您可以在下拉菜单中选择产品名称。这样很有效:因此,invoice 与 line_item 的关系是这样的:invoice has_many line_items,line_item 属于 invoice。

我有发票表格.这是一个简化版本:因此它包含行项目,您可以在其中选择产品名称的下拉菜单.

这很有效:所以invoice-line_item关系是这样的:invoice has_many line_items和line_item属于invoice. line_item属于item和item has_many line_items.我正确地设置了item,line_items和发票.

但现在我想为订单项添加税金.

所以我创建了一个line_items_taxes表来创建line_items和tax之间的HABTM关系.但是我无法在表单中正确设置它.我的表格看起来像这样……

|name|price|tax| | v| | v| | v| | v| | v| | v| [save invoice]

所以我需要一个TAXES下拉选择菜单,保存发票后,它会为每个订单项保存税金.

我已经尝试过在snippets.dzone.com/posts/show/4369和Rails HABTM Question提供的解决方案,但是我收到了错误.

undefined方法合并为:name:Symbol
<%= f.collection_select“line_item”,“tax_ids”,@ taxes,:id,:name,{:name => ‘line_item [tax_ids] []’}%>

Rails 3 HABTM表单,如何实现长尾词下拉菜单?

您对collection_select的调用包含一个额外的参数,可以解决问题. (因为我假设你使用* form_for *,’line_item’参数会自动包含在内,而你的参数是多余的.)

它应该看起来像这样:

f.collection_select 'tax_ids', @taxes, :id, :name, {:name => 'line_item[tax_ids][]'}

无论如何,这是正确方向的开始.

本文共计360个文字,预计阅读时间需要2分钟。

Rails 3 HABTM表单,如何实现长尾词下拉菜单?

我有发票表格。这是一个简化版本:包含项目,您可以在下拉菜单中选择产品名称。这样很有效:因此,invoice 与 line_item 的关系是这样的:invoice has_many line_items,line_item 属于 invoice。

我有发票表格.这是一个简化版本:因此它包含行项目,您可以在其中选择产品名称的下拉菜单.

这很有效:所以invoice-line_item关系是这样的:invoice has_many line_items和line_item属于invoice. line_item属于item和item has_many line_items.我正确地设置了item,line_items和发票.

但现在我想为订单项添加税金.

所以我创建了一个line_items_taxes表来创建line_items和tax之间的HABTM关系.但是我无法在表单中正确设置它.我的表格看起来像这样……

|name|price|tax| | v| | v| | v| | v| | v| | v| [save invoice]

所以我需要一个TAXES下拉选择菜单,保存发票后,它会为每个订单项保存税金.

我已经尝试过在snippets.dzone.com/posts/show/4369和Rails HABTM Question提供的解决方案,但是我收到了错误.

undefined方法合并为:name:Symbol
<%= f.collection_select“line_item”,“tax_ids”,@ taxes,:id,:name,{:name => ‘line_item [tax_ids] []’}%>

Rails 3 HABTM表单,如何实现长尾词下拉菜单?

您对collection_select的调用包含一个额外的参数,可以解决问题. (因为我假设你使用* form_for *,’line_item’参数会自动包含在内,而你的参数是多余的.)

它应该看起来像这样:

f.collection_select 'tax_ids', @taxes, :id, :name, {:name => 'line_item[tax_ids][]'}

无论如何,这是正确方向的开始.