Включая класс Ruby из отдельного файла

Я сделал что-то вроде этого, загружая выпадающий элемент через Ajax . Ответ выше также является приемлемым, но всегда полезно иметь как можно меньше модификаций DOM для лучшей производительности.

Поэтому вместо добавления каждого элемента в цикл лучше собирать элементы в цикле и добавлять его после завершения.

$(data).each(function(){
    ... Collect items
})

Добавьте его,

$('#select_id').append(items); 

или даже лучше

$('#select_id').html(items);

38
задан user94154 26 June 2009 в 19:14
поделиться

1 ответ

Модули служат двойной цели: они служат для хранения функций и в качестве пространства имен. Хранение классов в модулях вполне допустимо. Чтобы поместить класс в отдельный файл, просто определите класс как обычно, а затем в файл, в котором вы хотите использовать класс, просто поместите require 'name_of_file_with_class' вверху. Например, если бы я определил класс Foo в foo.rb , в bar.rb у меня была бы строка , которая требует 'foo' .

Если вы используете Rails, это часто происходит автоматически

Edit: уточнение структуры файла

#file: foo.rb
class Foo
  def initialize
    puts "foo"
  end
end

...

#file: bar.rb
require 'foo'

Foo.new

Если вы используете Rails, поместите эти классы в lib / ] и используйте соглашение об именах для файлов версии имени класса с подчеркиванием в нижнем регистре, например Foo ->

62
ответ дан 27 November 2019 в 03:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: