Ruby on rails Rails最佳实践-我可以使用很多;“有很多”吗;?

Ruby on rails Rails最佳实践-我可以使用很多;“有很多”吗;?,ruby-on-rails,model-associations,Ruby On Rails,Model Associations,我是一个新手,创建了我的第一个应用程序,一些ruby爱好者告诉我,我的编码方式并不高效。因为要达到一个干净的状态需要做很多工作,我想确保做对我来说更好的事情 在下面的代码中,您是否认为我过度使用了has\u many方法,如果是,我应该如何替换它 类产品{其中“拥有日期不为空,给予日期不为空”,同意:true}, 类别名称:“所有权” 拥有当前所有权,>{其中当前:真,约定:真}, 类别名称:“所有权” 拥有多个:下一个所有权,>{其中拥有日期:零,给予日期:零}, 类别名称:“所有权” 有很多

我是一个新手,创建了我的第一个应用程序,一些ruby爱好者告诉我,我的编码方式并不高效。因为要达到一个干净的状态需要做很多工作,我想确保做对我来说更好的事情

在下面的代码中,您是否认为我过度使用了
has\u many
方法,如果是,我应该如何替换它

类产品{其中“拥有日期不为空,给予日期不为空”,同意:true},
类别名称:“所有权”
拥有当前所有权,>{其中当前:真,约定:真},
类别名称:“所有权”
拥有多个:下一个所有权,>{其中拥有日期:零,给予日期:零},
类别名称:“所有权”
有很多:以前的所有者,通过::以前的所有者,
来源:报价人
拥有一个:所有者,通过::当前所有权,
来源:报价人
有很多:下一个所有者,通过::下一个所有者,
来源:报价人
#借款人
有很多:以前的贷款,->{其中“归还日期不为空,借款日期不为空”,同意:true},
类别名称:“贷款”
是否有一个:当前贷款,->{其中当前:真,约定:真},
类别名称:“贷款”
是否有多笔:下一笔贷款,->{其中借款日期:无,归还日期:无},
类别名称:“贷款”
有很多:以前的借款人,通过::以前的贷款,
来源:导引头
有很多:下一个借款人,通过::下一个贷款,
来源:导引头
有一个:借款人,通过::当前贷款,
来源:导引头
#同意或拒绝业主
有很多:同意所有权,>{其中同意:true,拥有日期:nil,给予日期:nil},
类别名称:“所有权”
拥有多个:可能的所有权,>{约定:无,拥有日期:无,给予日期:无},
类别名称:“所有权”
有很多:拒绝所有权,>{约定:错误,拥有日期:无,给予日期:无},
类别名称:“所有权”
有很多:同意的所有者,通过::同意的所有者,
来源:报价人
有很多:可能的所有者,通过::可能的所有者,
来源:报价人
有很多:拒绝拥有者,通过……拒绝拥有者,
来源:报价人
#同意或拒绝借款人
是否有多个:同意贷款,->{其中同意:正确,借款日期:无,归还日期:无},
类别名称:“贷款”
有很多可能的贷款,>{约定:无,借款日期:无,归还日期:无},
类别名称:“贷款”
是否有多个:拒绝贷款,->{约定:错误,借款日期:无,归还日期:无},
类别名称:“贷款”
有很多:约定借款人,通过约定贷款,
来源:导引头
有很多:可能的借款人,通过……可能的贷款,
来源:导引头
有很多:拒绝借款人,通过…拒绝贷款,
来源:导引头

在您使用的许多地方,
都有许多类似于作用域的功能

仔细阅读示波器

作用域允许您定义一个查询,然后可以像方法一样访问该查询。例如:

class Loan < ActiveRecord::Base
  scope :current, where(current: true, agreed: true)
end
class Loan
可以这样称呼:
Product.first.loans.current


确保您也将这些范围放在适当的模型中,例如,您不想在产品模型中筛选贷款。

谢谢!如果我想获得我产品的关联用户,我该怎么做?
Product.first.loans.current.brookers
是否有效?只要您的所有关系和范围都以良好的方式定义,就应该有效。试试看!不,它不起作用
Product.first.loans.current
发回一个
loans
数组,因此我不能使用仅适用于一个对象的链接方法…作用域将始终返回一个集合-您需要在链的末尾执行
。首先
,以获得一个对象,即使集合只有一个项目长。我知道,但我如何才能取回我产品的所有以前的借贷者<代码>产品。第一。贷款。过去
和之后?