等更新。
弱小不是原罪,傲慢才是。
技术网站都要河蟹,github 都时常会 block, 已经不仅仅是傲慢了。
在论坛里找一个 capistrano 的帖子了解一下 server deploy 的问题。再去找一个 dotenv 的帖子了解一下 env 配置的问题。
你确定你在 database 里创建 user shop
, 并且 grant 了 access permission?
但是看报错,连用户名也没有指定。本地之所以不需要密码。是因为本地用的 sqlite3 吧。
开发模式当然是这样的。如果不出意外的话是你希望通过serverdomain.com:3000
的方式看到你的服务吧。可以考虑将之作为后台服务。比如说 rails server &
. 但是这个也不会长久,所以可以使用nohup
. 如nohup rails server &
.这样可以保证你退出 ssh 后也会一直运行.
关于nohup
, 可以看这里https://en.wikipedia.org/wiki/Nohup.
但是你这样并不是好的做法。在 server 端跑 development 模式是没有意义的。
呃,没起到 5 年前的贴子都会被人拉出来鞭尸。
复杂与否需要看具体的场景。如果经常面对超过一千行的 model,就会发现这些绕来绕去的写法是多么好用。 文章中举的例子都是单场景。许多看起来之前复杂,重构后更复杂,这种感觉是对的。
但是有时候一个 model 牵连许多许多的业务逻辑的时候,二话不说全放在 model 里,这样做是 works 的,但是这么干简直就是犯罪。代码的可维护性,扩展性几乎没有。
想想这样的时候情况:一个订单模型作为入口同时涉及到产品,条码,六七种支付模式,折扣,优惠码,定制 (多糖少糖),会员卡,积分,余额,税款 (不同地方税制不同),货币,时区,退货,库存,店面,客户,取号预订,电话预订,桌台分布,打印小票,单据....
想想这些逻辑都在一次点餐消费的动作中执行并且由订单模型来统筹。
有时候不是为了炫技,而是切实的需要。
@drshu 话说两天了,你的问题解决了吗?解决了的话,怎么解决的?帖出来啊。你掉进的这个坑我永远也不希望踩进去。
Mr _Why 的节奏吗
应该没有太大关系的。我觉得你这些问题大家帮你排查了这么久都找不出原因,可能是服务器底依赖 (编译器) 或你的 mina 配置有问题。你可以考虑sudo apt-get upgrade && sudo apt-get update
一下。再仔细检查一下你的 Mina 配置。如果可以的话,把配置帖出来。明天早上大神们起床了,帮你把下脉,可能就解决了。程序猿也是要睡觉的不是吗?
如果你本地运行gem install nokogiri -v '1.6.8'
成功,部署时却失败。说明两种方式运行时你的 ruby 环境是不一样的。Mina 部署时需要一个身份,这个身份可能用的还是低版本的 ruby(一般是系统自带的). 而你自己通过 rvm 安装的ruby 2.3.0
, 则是你以 root 的身份安装的,并不是全局的。可以试着切换至 Mina 配置的部署者身份登录,再运行下ruby -v
或which ruby
.
希望以上全是臆测。
#21 楼 @geniousli 毕竟 ruby 是母语
工作地点具体在哪里呢?深圳哪一块?公司官网呢?
为什么会有公司冲在前面用ROR
却在 windows 进行开发?
在学Go
真是各种不习惯。还是Ruby
把人给惯坏了啊。先是找irb
也就是其他语言里的repl
, 有推荐说用官方的playground
, 这怎么够用?! 最后找到gore
勉强可以一用。而后,开始找bundle
的替代品,现在还木有找到 . 真是不舒服啊。
validates :only_three, on: :create
def only_three
if class.where(["created_at > ?", Time.now.beginning_of_day]).count >= 3
errors.add(:id, "you can create only 3 items per day.")
end
end
没有测试,但是这样写的思路应该是可以达到目的的.
其实这样的用户体验不好。你应该在new
时就访问数据库检查是不是已经有 3 条记录了。如果有,就直接提示不能再创建了,而不是输入完数据提交时再检查。也就是client side validation
的概念。
先点个赞再看代码
Capistrano
到现在还是官方推荐的。Rails 5
新项目的GEMFILE
中默认就有推荐了:
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development`
MAC 中一般编译出错都是Xcode
的问题。比如说,如果要用最新的macOS
, 也就是macOS Sierra
, 就得去官司网上去下载Xcode 8 beta
. 安装后,必须xcode-select --switch
到新装的版本。而后再xcode-select --install
.
n 年前还不知道用 Git 时,rm -rf 直接干掉了一个月的工作。当时觉得五脏六腑都空荡荡的。
数据从 API 调用。图表的 JS 自己选择如何加载数据。这样可以做成 plugins。要调用哪个图表调用 JS 就可以了。 这样 controller 里一个字都不用写。
不算坑。很明显用之前需要先看一下官方的 changelog 的。http://guides.rubyonrails.org/5_0_release_notes.html
仔细看了下,可惜太远。深圳东西相隔啊。
类似的关系图:http://zhuboliu.me/