第一次在这里发帖。我对 Ruby on Rails 比较陌生,并且一直在阅读 Michael Hartl 的书“Ruby on Rails 教程 - 通过示例学习”。但是,我在运行我的应用程序时遇到了以下问题,我很乐意得到解决。
1) 当尝试在“生产”模式下运行我的应用程序时,我更新了文件“config/environments.rb”,如下所示:
# force Rails into production mode when
# you don't control web/app server and can't set it the proper way
ENV['RAILS_ENV'] ||= 'production'
但是,当我运行应用程序时,我仍然可以从文件“app/views/layouts/application.html.erb”中看到调试器工具
<!-- Debug applies only to 'development' environment -->
<%= debug(params) if Rails.env.development? -%>
<!-- as determined by "if Rails.env.development?" -->
这让我相信我仍然在开发模式下运行应用程序。
2) 对于那些已经问过有关 signin_path 问题的人,我仍然看不到可以为我修复它的解决方案。我能够注册用户,然后自动将他们重定向到他们的个人资料空间。但是,导航菜单不会相应更改:
<nav class="round">
<ul>
<li><%= link_to "Home", root_path -%></li>
<li><%= link_to "Support", support_path -%></li>
<% if signed_in? %>
<li><%= link_to "Users", users_path -%></li>
<li><%= link_to "Profile", current_user -%></li>
<li><%= link_to "Settings", edit_user_path(current_user) -%></li>
<li><%= link_to "Sign out", signout_path, :method => :delete -%></li>
<% else %>
<li><%= link_to "Sign in", signin_path -%></li>
<% end %>
以下是“app/helpers/sessions_helper.rb”文件中的代码:
def current_user # GET current_user
@current_user ||= user_from_remember_token
end
def signed_in?
!self.current_user.nil?
end
.
.
.
private
def user_from_remember_token
User.authenticate_with_salt(*remember_token)
end
def remember_token
cookies.signed[:remember_token] || [nil, nil]
end
非常欢迎对此提供任何帮助。我目前正在尝试托管我的应用程序 Heroku,但不幸的是没有得到我需要的支持。
干杯。