adminLTE 2.4.5 древовидная структура не работает должным образом после обновления только она работает в рельсах

Для IIS 7.5+ и Rewrite 2.0 вы можете использовать:

<system.webServer>
   <httpProtocol>
     <customHeaders>
         <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
         <add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS,PUT,DELETE" />
     </customHeaders>
   </httpProtocol>
        <rewrite>            
            <outboundRules>
                <clear />                
                <rule name="AddCrossDomainHeader">
                    <match serverVariable="RESPONSE_Access_Control_Allow_Origin" pattern=".*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="true">
                        <add input="{HTTP_ORIGIN}" pattern="(http(s)?://((.+\.)?domain1\.com|(.+\.)?domain2\.com|(.+\.)?domain3\.com))" />
                    </conditions>
                    <action type="Rewrite" value="{C:0}" />
                </rule>           
            </outboundRules>
        </rewrite>
 </system.webServer>

Объяснение части переменной сервера RESPONSE_Access_Control_Allow_Origin: в Rewrite вы можете использовать любую строку после RESPONSE_, и она создаст ответ Заголовок, использующий остальную часть слова в качестве имени заголовка (в этом случае Access-Control-Allow-Origin). Rewrite использует символы подчеркивания «_» вместо тире «-» (переписать их в тире)

Объяснение переменной сервера HTTP_ORIGIN: Аналогично, в Rewrite вы можете захватить любой заголовок запроса, используя HTTP_, как префикс. Те же правила с тире (используйте символы подчеркивания «_» вместо тире «-»).

1
задан Rahul 4 March 2019 в 04:11
поделиться

3 ответа

У меня была та же проблема, турболинки не совместимы с хуками JavaScript, которые требуются в древовидном меню.

Для отключения турболинков:

Из app / assets / javascript / application.js удалить,

//= require turbolinks

и из app / views / layout /application.html.erb удалите следующие ссылки на turbolinks,

<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

Таким образом, похоже,

<%= stylesheet_link_tag    'application', media: 'all' %>
<%= javascript_include_tag 'application' %>

Вы также можете удалить гем turbolinks из списка Gemfile.

Затем вы должны найти, что ваше древовидное меню работает как положено.

0
ответ дан Snips 4 March 2019 в 04:11
поделиться
  • Не отключайте турболинки, потому что это ускоряет навигацию между страницами в приложении rails, вместо того, чтобы отключить, вы можете заставить его работать до того, как я объясню, почему он не работает.
  • При использовании Jquery, сокращенная $ (function () {...}) для привязки к событию готовности документа, и это обычно используется.
  • К сожалению, эта конфигурация по умолчанию не будет работать с турболинками.
  • Что еще хуже, он будет работать при полной загрузке страницы, но js-код в $ (function () {...}) не будет работать при последующей навигации с использованием турболинков, поскольку турболинки не вызывают событие готовности документа.
  • Я решил эту проблему, добавив в файл adminlte js. $(document).on('turbolinks:load',function(){...})

    ниже приведен код, в котором я заменил $ (window) .on ('load') на $ (document) .on ('turbolinks: load) внутри js-файла adminlte, функция Tree ()

    $ (document) .on ('turbolinks: load', function () {$ (Selector.data) .each (function () {Plugin.call ($ (this));});} );

0
ответ дан Rahul 4 March 2019 в 04:11
поделиться

Попробуйте это в файле макета:

= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
0
ответ дан kung phanith 4 March 2019 в 04:11
поделиться
Другие вопросы по тегам:

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