RAILS_ENV=production bundle exec rake assets:precompile
public/assets
后,dropdown在开发环境中无响应。点击按钮没有任何反应。但是,删除rails s -e production
中的所有内容都会开始工作。它也适用于生产模式(<li id="organization-selector" class="dropdown">
<a href="/" data-toggle="dropdown" data-target="#organization-selector" class="dropdown-toggle">
RedKivi
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="/organizations/1">RedKivi</a>
</li>
<li>
<a href="/organizations/2">BoTree</a>
</li>
<li class="divider"></li>
<li>
<a href="/organizations/new">New organization</a>
</li>
</ul>
</li>
)
该应用使用twitter bootstrap和active admin。看起来像是conflicted。
请注意,它在Heroku
上的分段工作正常以下是生成的html
的快照...
....
*= require_self
*= require jquery.ui.slider
*= require_tree .
应用/资产/样式表/ application.css.scss
//= require jquery
//= require jquery_ujs
//= require jquery.ui.slider
//= require bootstrap
//= require_tree .
应用/资产/ Javascript角/ application.js中
{{1}}
预编制资产的做法是什么?
答案 0 :(得分:3)
只需清理资源文件夹:
rake assets:clean:all
为什么会这样?
Bootstrap的Dropdown仅在开发时中断,因为您的资产被加载了两次。一旦处于“预编译”形式,第二个因为您的开发环境。这会导致冲突,并且下拉列表不再起作用。
这就是为什么它可以正常使用Heroku / Production,因为只加载了预编译的资产。
答案 1 :(得分:0)