我需要生成一个自定义引擎,例如按“品牌”和“类别”分类的产品:

产品介绍:

  • 第1类

-----产品1 /品牌1 /中的相同产品

-----产品2

-第2类

-第3类

品牌:

  • 品牌1

-----产品1 /类别1 /中的相同产品

-----产品2

  • 品牌2

  • 品牌3

上面的最佳方案是什么?

我做了以下事情来满足自己的需求:

1-产生了一个新的引擎,称为category

$ rails generate refinery_engine category name:string image:image
$ bundle install
$ rails generate refinerycms_categories

2-产生了另一个引擎,称为品牌

$ rails generate refinery_engine brand name:string image:image
$ bundle install
$ rails generate refinerycms_brands
$ rake db:migrate

3-生成了名为产品的第三个引擎,并在类别和品牌引擎中生成了该引擎:

$ rails generate refinery_engine product category:engine brand:engine
name:string category_id:integer brand_id:integer number:string
quantity:integer brief:string description:text image:image
catalog:resource
$ bundle install
$ rails generate refinerycms_categories products
$ rake db:migrate

4-我已经在/ vendor / engines / categories / app / models中编辑了以下文件:

category.rb

has_many :products

product.rb

belongs_to :category
belongs_to :brand

5-我还编辑了/vendor/engines/brands/app/models/brand.rb:

has_many :products

6-我已经在_form.html.erb中编辑:category_id和:brand_id来制作HTML标记:

<div class='field'>
<%= f.label :category_id -%>
<%= collection_select(:product, :category_id, Category.all, :id, :name) %>
</div>

<div class='field'>
<%= f.label :brand_id -%>
<%= collection_select(:product, :brand_id, Brand.all, :id, :name)%>
</div>

7-在前端产品部分中,当我单击产品类别时,我会看到所有产品,并且品牌显示的是ID,而不是名称。 我需要显示名称而不是ID。

8-当我单击类别时,它仅列出类别而不显示其中的产品。...品牌也是如此。 因此,如何列出与每个类别和品牌相关的产品。

在此先感谢您的支持。感谢您的帮助。

===============>>#1 票数:4 已采纳

创建一个单独的类别和品牌模型对我来说没有多大意义。 我希望将它们作为产品表中的字段,并编写一个帮助程序以获取所有唯一的类别和品牌。 例如:

def get_categories
  Product.pluck(:category).uniq
end

要按类别过滤产品:(这将替换_form.html.erb中类别的选择标签)

options_for_select(get_categories)

要选择属于同一类别的产品,您可以执行以下操作:

@products = Product.where("category=?",params[:category])

  ask by Kirkian N. translate from so

未解决问题?本站智能推荐:

1回复

在Rails中定制产品规格

我在一家窗户制造公司工作,希望在网站内添加功能,以便客户在向订单添加零件时能够以可视化方式在线定制产品。 所以我的问题确实是,当选择零件时,是否可以通过Ajax或Raphael构建SVG图像? 这些部分将是: 宽度 高度 颜色 玻璃类型 玻璃
2回复

狂欢定制菜单

我需要自定义Spree(v1.1.1)菜单,因为实际上它只有“ Home”链接。 我尝试通过创建替代来作为 在这里,我只是想删除“主页”以查看其是否有效。 我还尝试通过创建视图/app/views/spree/shared/_main_nav_bar.html.erb尝试,但没有
1回复

定制表格处理

我有一些不直接与任何模型链接的自定义表单(用户信誉)。 我有几个信誉标准会影响最终的回报值,这是表格的代码 在控制器中,我需要汇总"reputing_#{c.id}"字段的值。 然后将一条记录添加到用户信誉表。 在控制器中处理来自此表单的数据如何更好,更恰当? 我试图用谷歌搜
2回复

Rails定制类

我想在/lib中的文件中创建一个类的全局实例。 我可以访问此类并在控制器中将其初始化,如下所示: 但是,我希望有一个全局版本,只要Rails会话正在运行,它就会一直存在(这是一个实验。我不想为此使用模型)。 我通过执行以下操作在application.rb初始化了变量:
2回复

疯狂定制导轨

在Rails中自定义Spree应用程序的最佳方法,从哪里可以看到该应用程序的现有代码?
2回复

定制助手的范围

我已经在Helper中定义了我的helper函数: 但是我既不能在CarsController也不能在Car模型中使用它(my_helper),是否只能在View中使用自定义助手?
2回复

定制:回形针的路径

当前我的路径/ notes /:id /:filename 但是我希望我的道路像可连接的一样,因为它是多态关系 也是明智的。 像:/:attachable /:year /:id /:filename
1回复

Rails:定制路线嵌套了定制路线?

我可以做嵌套在自定义路由中的自定义路由吗? 说 同 我想做更多的自定义路线: 现在我有这个: 这给了我类似的东西: 我仍在学习Rails方法。
1回复

产品验证

嗨,大家好,我是红宝石的新手...我已经添加了商品页面,并且想要在1个类别下是否存在重复的商品名称,例如“商品名称:测试”,“类别:其他”,它可以验证“商品名称已经存在,请选择另一个”。 但是如果您更改了类别,例如“产品名称:测试”,“类别:购物”,它将保存新产品。 这是我的表格中的代码
2回复

通过API设计定制身份验证

所以我在这里有一些棘手的组合 通过设计管理用户进行身份验证 您可以作为用户登录并创建全部属于该公司而不属于该用户的对象,例如: Text 。 ( company.texts ) 现在,我使用acts_as_api gem创建了一个简单的API。 为此,我只需要修改我的文