ruby-on-rails - Rails - 在 Controller 或 View 中使用类方法更好吗

标签 ruby-on-rails rails-activerecord

在我的 Rails 模型中,我定义了一个类和一个方法来返回项目名称数组。现在我的问题是,在我的 View 中使用 Project.names 数组是否正确,或者我应该在 Controller 中生成一个数组,并传递一个实例变量。

class Project < ActiveRecord::Base

...snip...

  def self.names
    Project.select(:name).map {|x| x.name }
  end

end

最佳答案

我肯定会坚持填充 Controller 中的实例变量。顺便说一句,关于您的代码的一句话:

Project.select(:name).map {|x| x.name }

可以重构为:

Project.select(:name).map(&:name)

这个可以重构为:

Project.pluck(:name)

喜欢 ruby 。

关于ruby-on-rails - Rails - 在 Controller 或 View 中使用类方法更好吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13362768/

相关文章:

ruby - 为什么我的 ActiveRecord 范围为 `merge` 返回一个数组?

ruby-on-rails - Rails 5. 跟踪模型之间关联的顺序

ruby-on-rails - Rails - 嵌套包含在事件记录上?

ruby-on-rails - Redis 尝试连接到 Heroku 上的本地主机而不是 REDIS_URL

sql - Rails 5.2 更改或删除表列时出错(SQLite3::ConstraintException:FOREIGN KEY 约束失败:DROP TABLE)

ruby-on-rails - Rails 3.2 rake 编译问题

ruby-on-rails - Rails 3.2 查询 - .exists?

ruby-on-rails - 有人会如何列出在 Ruby on Rails 中具有特定值的所有对象?

ruby-on-rails - 如何调试Rails I18N查找?

ruby-on-rails - Rails 错误地将重定向响应发送为状态 200