我已经开始通过Michael Hartl的教程学习Ruby on Rails。完成第8章后,应用程序在本地服务器上按预期工作。但是,一旦部署到Heroku,下拉菜单就无法加载。如果我检查浏览器中的下拉列表,我就会发现: dropdown_inspect
我已经在其他答案中遵循了各种建议,例如从教程中更改了application.js的顺序,以便//要求在// = require bootstrap之前列出rails-ujs,但无济于事。这是_header.html.erb的相关代码段:
<% if logged_in? %>
<li>
<%= link_to "Users", '#' %>
</li>
<li 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", '#' %>
</li>
<li class="divider"></li>
<li>
<%= link_to "Log out", logout_path, method: :delete %>
</li>
</ul>
</li>
<% else %>
<li>
<%= link_to "Log in", login_path %>
</li>
<% end %>
和来自sessions_helper.rb:
def current_user
if (user_id = session[:user_id])
@current_user ||= User.find_by(id: user_id)
elsif (user_id = cookies.signed[:user_id])
user = User.find_by(id: user_id)
if user && user.authenticated?(cookies[:remember_token])
log_in user
@current_user = user
end
end
end
非常感谢任何可以提供的帮助!