Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使代码更漂亮?_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 如何使代码更漂亮?

Ruby on rails 如何使代码更漂亮?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,您能否给我一个提示,告诉我如何使以下代码更简洁、更美观: Persons.with_tour.map(&:father).map(&:first_name).to_sentence 这个怎么样 Persons.with_tour.collect{|x| [x.father, x.first_name]}.to_sentence 我不确定你的模型是否正确,但这是我的想法。不要选择人并循环寻找父亲,而是从一开始就选择父亲,根据需要进行筛选。而且,如果您不打算使用整个父对象(您只需

您能否给我一个提示,告诉我如何使以下代码更简洁、更美观:

Persons.with_tour.map(&:father).map(&:first_name).to_sentence
这个怎么样

Persons.with_tour.collect{|x| [x.father, x.first_name]}.to_sentence

我不确定你的模型是否正确,但这是我的想法。不要选择人并循环寻找父亲,而是从一开始就选择父亲,根据需要进行筛选。而且,如果您不打算使用整个父对象(您只需要名字),请使用Pulk来获取数组

Father.of_tour_persons.pluck(:first_name).to_sentence
在father.rb中

class Father < ActiveRecord::Base

  scope :of_tour_persons, -> { joins(:persons).where(:persons => { :with_tour => true }) }

end
类父{joins(:persons)。其中(:persons=>{:with_tour=>true})
结束

您也可以顺便检查一下:虽然您的问题完全在StackOverflow上的主题上,但它也在上的主题上,可能会得到比这里更好的答案。但是,请不要交叉张贴。如果您希望您的问题出现在那里,您应该询问该网站的主持人,或者在该网站上标记您的问题以引起主持人的注意,并要求将其迁移。@JörgWMittag虽然在代码审查中这是主题上的还是主题外的可能存在争议,但对于存根代码,它很可能会被关闭,或者假设代码。@EthanBierlein:是的,对不起,我应该提到这个。我想补充一点,大意是这个问题需要做一些额外的工作才能被接受(事实上,公平地说,这里也是),但我a)分心了,b)假设(可能是错误的)在发布之前,OP会一直阅读任何网站的帮助中心。你可以看一下这个。你确定这样做吗?你知道如何处理数组吗?道恩·格林,非常感谢!不知道)谢谢,太好了!我也没有深入了解这个模型。但我相信它会在未来帮助我!谢谢