#3 楼 @lgn21st 谢谢。但我还是要用 thor 这种专门的命令行接口,它可以自由定义多个参数:
class MyCLI < Thor
option :from
option :yell, :type => :boolean
desc "hello NAME", "say hello to NAME"
def hello(name)
output = []
output << "from: #{options[:from]}" if options[:from]
output << "Hello #{name}"
output = output.join("\n")
puts options[:yell] ? output.upcase : output
end
end
$ ./cli hello --yell Yehuda --from "Carl Lerche"
FROM: CARL LERCHE
HELLO YEHUDA
$ ./cli hello Yehuda --from "Carl Lerche" --yell
FROM: CARL LERCHE
HELLO YEHUDA
#4 楼 @ruby_sky 这种方法也可以,但不够智能,比如如果想单独指定某个参数,用 --parma1 'a' --param2 'b'
就好些。
用 thor
没问题,可以调用 Active Record
。这样执行批处理:
./bin/rails runner MyTask hello Matz --from DHH
#3 楼 @quakewang 谢谢
还拒绝 sohu
惭愧,忘启动 unicorn 了。
bundle exec unicorn -E production -c config/unicorn.rb
现在出现了 nginx 403 forbidden 错误:
directory index of "/home/my_app/public" is forbidden, ...
/etc/nginx/nginx.conf 文件:
user nginx;
worker_processes 4;
pid /run/nginx.pid;
...
现在用部署用户 deploy 部署,rails 程序下面的文件及文件加都是 deploy 用户组的,要给 public 文件加特别的用户权限吗?
#4 楼 @reyesyang 谢谢。这回明白了。
#12 楼 @shinefine 赞!越是大公司越这样。TMD,Cloud Meeting!
作为独立开发者,如何保证收入、生计?