加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – RoR 3 – 查找一组孩子的父母名单

发布时间:2020-12-17 03:45:20 所属栏目:百科 来源:网络整理
导读:我有两个典型关系模型: menu_options模型: class MenuOption ActiveRecord::Base belongs_to :categoryend 类别模型: class Category ActiveRecord::Base has_many :menu_optionsend 我在部分显示类别,然后在另一部分显示menu_options.我目前正在通过遍历
我有两个典型关系模型:

menu_options模型:

class MenuOption < ActiveRecord::Base
  belongs_to :category
end

类别模型:

class Category < ActiveRecord::Base
  has_many :menu_options
end

我在部分显示类别,然后在另一部分显示menu_options.我目前正在通过遍历menu_options并收集使用此代码显示的所有类别来跳过空类别:

@menu_options = MenuOption.select_by_user_level(user_level)
categories = []
@menu_options.each do |m|
 categories << m.category
end
@categories = categories.uniq

我一直在使用类似的方法这样做很长一段时间,我想知道是否有更多的rails方式来做到这一点?

**解决了:
我忽略了提到’select_by_user_level’方法正在使用不等式.我拿了你们提供的代码,并更新它以摆脱那种方法,并将.uniq组合成选择类别的行.这是结果.谢谢你的帮助!

@categories = Category.joins(:menu_options).where('menu_options.minimum_user_level <= ?',@user.user_level ).uniq
@menu_options = MenuOption.where('minimum_user_level <= ?',@user.user_level)

解决方法

您只需选择具有menu_option的类别:user_level = user_level using

@categories = Categories.joins(:menu_options).where(:menu_options => { :user_level => user_level })

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读