Ruby on rails 在Rails 3中有没有更简单的方法来查找记录并返回其属性之一?

Ruby on rails 在Rails 3中有没有更简单的方法来查找记录并返回其属性之一?,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我发现自己一遍又一遍地写下面的代码: MyModel.find(my_id).my_field 我想知道是否有一种更简单的方法来编写此文件?您是在一遍又一遍地对同一资源执行此操作,还是对许多不同的资源执行此操作?如果你能给我们一个更好的例子来说明你在做什么,这会很有帮助。如果你做了那么多次,给我们一个你做了很多次的例子会很有帮助 如果对一个资源执行此操作只是为了获得不同的值: 如果你一次又一次地在做同样的事情,那就是你做错了。首先将结果存储在如下变量中: @mymodel=mymodel.fi

我发现自己一遍又一遍地写下面的代码:

MyModel.find(my_id).my_field

我想知道是否有一种更简单的方法来编写此文件?

您是在一遍又一遍地对同一资源执行此操作,还是对许多不同的资源执行此操作?如果你能给我们一个更好的例子来说明你在做什么,这会很有帮助。如果你做了那么多次,给我们一个你做了很多次的例子会很有帮助

如果对一个资源执行此操作只是为了获得不同的值:

如果你一次又一次地在做同样的事情,那就是你做错了。首先将结果存储在如下变量中:

@mymodel=mymodel.find(id)

然后你可以使用

@mymodel.my_字段

然后再次(无需再次查找)

@mymodel.different_字段

或者,如果要对集合执行此操作,可以执行以下操作:

@mymodels=MyModel.find([my\u first\u id,my\u second\u id,my\u third\u id])


等等。。你身边的好榜样会对你有所帮助

您是一次又一次地为同一个资源这样做,还是为许多不同的资源这样做?如果你能给我们一个更好的例子来说明你在做什么,这会很有帮助。如果你做了那么多次,给我们一个你做了很多次的例子会很有帮助

如果对一个资源执行此操作只是为了获得不同的值:

如果你一次又一次地在做同样的事情,那就是你做错了。首先将结果存储在如下变量中:

@mymodel=mymodel.find(id)

然后你可以使用

@mymodel.my_字段

然后再次(无需再次查找)

@mymodel.different_字段

或者,如果要对集合执行此操作,可以执行以下操作:

@mymodels=MyModel.find([my\u first\u id,my\u second\u id,my\u third\u id])


等等。。你身边的好榜样会对你有所帮助

如果你问是否有更简洁的写作方式。。不确定标准查找器是否有问题。你的东西很小。只是为了好玩,我为你写了这封信:)


它不会给你省很多钱,只是觉得写起来会很有趣。

如果你问是否有更简洁的写作方法。。不确定标准查找器是否有问题。你的东西很小。只是为了好玩,我为你写了这封信:)


它不会为您节省很多,但只是认为编写它会很有趣。

除了Jake针对每个模型和每个属性的全局解决方案外,您还可以轻松定义显式的单个访问器:

class MyModel
  def self.my_field(id)
    find(id).my_field
  end
end
或字段数组:

class MyModel
  class << self
    [:my_field, :other_field].each do |field|
      define_method field do |id|
        find(id).send(field)
      end
    end
  end
end
classmymodel

类除了Jake针对每个模型和每个属性的全局解决方案外,您还可以轻松定义显式的单个访问器:

class MyModel
  def self.my_field(id)
    find(id).my_field
  end
end
或字段数组:

class MyModel
  class << self
    [:my_field, :other_field].each do |field|
      define_method field do |id|
        find(id).send(field)
      end
    end
  end
end
classmymodel

类我不是说我多次执行此代码。我只是用不同的model/field/id编写了这段代码。我在寻找一种语法糖,比如:
MyModel.myu-field(myu-id)
,而不是性能优化。我不是说我多次执行这段代码。我只是用不同的model/field/id编写了这段代码。我在寻找一种语法糖,比如:
MyModel.myu-field(myu-id)
,而不是性能优化。