兄弟加油,你还自己弄过这么长时间,我刚自学这个 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 样式了