• 兄弟加油,你还自己弄过这么长时间,我刚自学这个 1 个月,除了看下 guide 里的内容,不知道干啥了,脑子一片蒙逼。这个论坛里的东西我基本看不懂😂

  • 好,谢谢啊

  • 大哥,我已经转换到生产模式了,但是有两个问题想请问一下: 1.

    production:
       secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
    

    这里我把 key 存到环境变量里,再在项目中取,就不行,直接明文写,就 OK,可能时哪里错了?

    2.还是之前的老问题,我生产模式也要用 nohup rails s & 命令让一个进程跑服务才能保持服务不关闭吗?常规的做法是怎样的。 (因为我远程连接服务器,直接进项目开启服务,rails s -e production,命令行就锁住了,如果要退出远程连接,就必须要 ctrl+c 停止服务啊。)

  • 哦哦,我以为这里 rails 会自行帮我创建用户并且赋权限。。。。是要哇自己创建用户然后赋权限是吗?我去试试。。。

    原来是这样😂 好了,谢谢大哥。

  • 我都是在本地操作的啊,用户名密码配置了,数据库也指定了。。。

  • 我先把我的 database.yml 给你看下

    default: &default
      adapter: mysql2
      encoding: utf8
      pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
      username: root
      password: root
      socket: /var/lib/mysql/mysql.sock
    
    development:
      <<: *default
      database: shop_development
    
    production:
      <<: *default
      database: shop_production
      username: shop
      password: <%= ENV['SHOP_DATABASE_PASSWORD'] %>
    

    我就是在本地操作到,没有在 server 端弄。我本地已经修改成 mysql 了,也指定用户名密码了,所以它报这个错我有点看不明白。

  • 首先谢谢大大帮助我。我刚才想把数据库信息移植到 production 模式下,但是老是报错,说我数据库连接失败,具体信息如下:

    [root@localhost shop]# rails db:migrate RAILS_ENV=production --trace          
    ** Invoke db:migrate (first_time)          
    ** Invoke environment (first_time)
    ** Execute environment
    ** Invoke db:load_config (first_time)
    ** Execute db:load_config
    ** Execute db:migrate
    rails aborted!
    Mysql2::Error: Access denied for user ''@'localhost' to database 'shop_production'
    

    但是我开发模式下是能够连接数据库的啊,不明白了

  • 我在学习 rails,用的是 5.0 版本,也是刚刚解决这个问题。在 assets 目录下,找到,application.js 和 application.css 两个文件,把里面的 require_tree 删除。然后把你需要引用的 js 或 css 在 config/initialize/assets.rb 文件中注册下,如 Rails.application.config.assets.precompile += %w(index.css),最后在 html 页面中使用 <%=stylesheet_link_tag "index" %>即可引用该 css 样式了