Используя метод в seeds.rb в Ruby on Rails

Если это войдет в HTML-атрибут, Вам будет нужно к обоим HTML - кодируют (как минимум: > к &gt; < к &lt и " к &quot;) это, и одинарные кавычки Escape (с обратной косой чертой), таким образом, они не вмешиваются в Ваше заключение в кавычки JavaScript.

Лучший способ сделать это с Вашей системой шаблонной обработки (расширяющий его, при необходимости), но Вы могли просто сделать несколько функций выхода/кодирования и обернуть их обоих вокруг любых данных, это идет туда.

И да, это совершенно допустимо (корректный, даже) к Escape HTML все содержание Ваших HTML-атрибутов, даже если они содержат JavaScript.

12
задан ahsteele 17 November 2009 в 18:06
поделиться

2 ответа

Похоже, вы поместили свой метод create_deliverable после модификатора доступа private в свой сценарий. Поместите его после public .

public

    def create_deliverable(complexity, project_phase_id, deliverable_type_id)
      Deliverable.create(:name => (0...8).map{65.+(rand(25)).chr}.join,
          :size => 2 + rand(6) + rand(6),
          :rate => 2 + rand(6) + rand(6),
          :deliverable_type_id => deliverable_type_id,
          :project_phase_id => project_phase_id,
          :complexity => complexity)
    end
private # to keep the rest of methods private
7
ответ дан 2 December 2019 в 04:33
поделиться

Если вы собираетесь использовать self. , используйте его в определении метода, а не в вызове.

def self.create_deliverable(...)
    ...
end
...
create_deliverable("Low", type.id, phase.id)
...

Насколько я понимаю, .rb файлы без определения класса при запуске заключаются в анонимный класс ruby, поэтому определение метода для себя должно работать нормально.

15
ответ дан 2 December 2019 в 04:33
поделиться
Другие вопросы по тегам:

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