【发布时间】:2016-10-14 23:55:31
【问题描述】:
在我的 phoenix 应用程序中,Bootstrap 下拉列表中的 不起作用
<ul class="nav navbar-nav navbar-right">
<%= if !@conn.assigns.current_user do %>
<li> <%= link "Log In" , to: session_path(@conn, :new) %></li>
<% else %>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Hi!, <%= @conn.assigns.current_user.username %>
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><%= link "Log out", to: session_path(@conn, :delete, @conn.assigns.current_user), method: "delete" %></li>
<li> <%= link "Log In" , to: session_path(@conn, :new) %></li>
</ul>
</li>
<% end %>
</ul>
但是当我把它放在“下拉菜单”之外时,它工作得很好。
当我将 更改为 时,它也可以正常工作!!
我的 brunch.js 在插件中包含了 sass
plugins: {
babel: {
// Do not use ES6 compiler in vendor code
ignore: [/web\/static\/vendor/]
},
sass: {
options: {
includePaths: ["node_modules/bootstrap-sass/assets/stylesheets"], // tell sass-brunch where to look for files to @import
// minimum precision required by bootstrap-sass
//precision: 8
},
precision: 8
},
copycat: {
"fonts": ["node_modules/bootstrap-sass/assets/fonts/bootstrap"] // copy node_modules/bootstrap-sass/assets/fonts/bootstrap/* to priv/static/fonts/
}
},
...
...
npm: {
enabled: true,
whitelist: ["phoenix", "phoenix_html", "jquery"],
globals: { // bootstrap-sass' JavaScript requires both '$' and 'jQuery' in global scope
$: 'jquery',
jQuery: 'jquery',
bootstrap: 'bootstrap-sass' // require bootstrap-sass' JavaScript globally
}
}
我认为问题与javascript有关,但我不知道如何解决。
有人有同样的问题吗?谢谢!
【问题讨论】:
-
“不起作用”是指单击它时没有任何反应?还是样式不正确?或者你什么都看不见?还是别的什么?
-
它什么也没做。并且网址将在末尾附加一个“#”
-
您是否正确包含
phoenix_html?在一个新项目中,brunch 配置有这个:javascripts: { joinTo: "js/app.js" }和app.js它有import "phoenix_html"和link method: :delete与此一起使用。能否也检查一下生成的priv/static/js/app.js是否包含phoenix_html? -
@Dogbert 是的,brunch.js 有
javascripts: { ... },app.js 包括phoenix_html
标签: javascript elixir phoenix-framework