Создание цепочки вашего собственного метода в Ruby on Rails - PullRequest
0 голосов
/ 13 июня 2010

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

def my_method(x,y)
  return x+y
end

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

my_method(2,3)

Однако я бы хотел использовать синтаксис, подобный следующему:

class_from_my_rails_app.my_method(3)

Как и где я могу определить my_method, чтобы я мог использовать его следующим образом?

Я рад ознакомиться с документацией, но я просто не знаю, как называется последний стиль. Как ты это называешь?

Большое спасибо,

Стивен.

Ответы [ 2 ]

1 голос
/ 13 июня 2010

То, что вы хотите создать, называется методом экземпляра.Реализовано следующим образом:

class YourClass

  def initalize(x)
    @x =x
  end

  def do_something(y)
    @x + y
  end

end

, который вы бы использовали следующим образом:

my_class = YourClass.new(20)

puts my_class.do_something(10)
=> 30

Но на самом деле это настолько фундаментально для объектно-ориентированного программирования и ruby, что я удивлен, даже увидев этот вопрос.

Я бы предложил почитать ruby ​​как язык, очень хорошая книга, с которой можно начать: Обоснованный Rubyist , который начинается со всех основ и работает на должном уровне.во все детали.

Надеюсь, это поможет.Если я неправильно понял ваш вопрос, я прошу прощения и был бы рад уточнить любую часть.

1 голос
/ 13 июня 2010

Я думаю, вы говорите о создании метода класса.

class MyClass
  def self.my_method(x,y)
    return x+y
  end
end

Это позволяет вам звонить

MyClass.my_method(2,3)

Вероятно, это относится к классу моделей, а не к классу помощников, по рельсам.

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