Измените «to_sentence» для массивов одной конкретной модели в Rails - PullRequest
0 голосов
/ 03 мая 2010

Возможно ли переопределить метод to_sentence только для одной модели в моем приложении rails?

В целом, как мне изменить методы для массива моих моделей?

Ответы [ 2 ]

0 голосов
/ 03 мая 2010

Как вы можете себе представить, я довольно нуб, как в Rails, так и в Stackoverflow, но я пытаюсь понять это правильно:

Я просто создал помощника на applcation_helper.rb, который я могу вызывать в представлениях всякий раз, когда мне нужно. Как вы думаете, это путь, или есть лучший способ, чем это?

В любом случае, мне все еще интересно узнать, есть ли способ переопределить методы Array для Array, содержащие определенный класс / модель:)

0 голосов
/ 03 мая 2010

Вы можете просто определить to_sentence в этой конкретной модели.

class Model < ActiveRecord::Base

  def to_sentence

  end

end

Когда вы манипулируете результатами запроса в AR, каждый элемент массива является экземпляром класса вашей модели, поэтому автоматически будет иметь все методы и свойства. В самом массиве будут все методы встроенных классов Array и Enumerable (плюс несколько дополнений из AR). Вы также можете переопределить или расширить эти классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...