我有一个简单的下拉菜单,在本地工作得很好但是当我将我的应用程序部署到Heroku时,它不起作用。它不显示菜单选项。所以,当我点击帐户时,没有任何反应。
以下是简单的代码:
<nav>
<ul class="nav pull-right">
<% if signed_in? %>
<li><%= link_to "Home", root_path %></li>
<li id="fat-menu" class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Account <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><%= link_to "Profile", current_user %></li>
<li><%= link_to "Settings", edit_user_path(current_user) %></li>
<li class="divider"></li>
<li>
<%= link_to "Sign out", signout_path, method: "delete" %>
</li>
</ul>
</li>
<% end %>
</ul>
</nav>
可能有什么问题?您认为我身边或Heroku的问题是什么?谢谢。
答案 0 :(得分:4)
听起来您遇到资产管道问题。退房:
https://devcenter.heroku.com/articles/rails-asset-pipeline
你是否让Heroku预先编译你的资产?就个人而言,我在部署到Heroku之前预编译了所有资产。
RAILS_ENV=production bundle exec rake assets:precompile
这将预编译您的所有资产并将其放在公共/资产文件夹下。然后你可以将它们添加到git并推送到heroku。
如果这样做,您将手动编译,并且应该在重新部署或更新Heroku应用程序之前运行预编译行,以捕获您在资产管道中所做的任何更改。
您还可以查看此问题以及与之相关的问题:
Javascript features work on localhost but not when deployed to Heroku