Последние два дня я бился головой, пытаясь понять это, и наконец сузил источник.
Я использую помощник для генерации html для моей боковой панели и html_safeна возвращаемое значение.Когда я правильно структурировал html, это приводит к тому, что действие моего контроллера запускается дважды (сначала я увидел это, когда получил две записи, вставленные в мою базу данных из моего действия, а затем подтвердил использование ruby-debug).Вот вспомогательный код:
def get_sidebar
first = String.new
second = String.new
str = String.new
str+= "<a href=''><img src='" << first << second << "'></a>"
str.html_safe
end
Если я изменю str и уберу тег img до и после concat'd vars, он срабатывает только один раз.Если переменные concat'd не пусты, они запускаются только один раз (они изначально были из необнуляемых столбцов db, но были пустыми строками).И если я не вызываю метод html_safe, он срабатывает только один раз ...
Есть идеи, что здесь происходит?Это ожидаемое поведение для html_safe?Я сумасшедший?
Заранее спасибо!