邮件通知功能
还是惊了, 居然rails自带这功能...厉害了, 不用安装gem
而且就算是二刷, 还是完全没头绪要如何写mailer细节代码... 先看着教程撸代码吧...
嗯? 倒是在"开发阶段"想预览寄件效果是需要安装gem的哈哈哈哈
AASM状态机
这比较难理解但多练习几次能懂. 这次我就意识到命名上的用心, 比如 order_cancelled
是名词来的, 而在定义其相对应的action时就是用动词 cancel_order
写到 "event do"里边.
建立 admin/orders 可以看到系统内所有订单
写view代码的table部分时, 我比较困惑tbody里面写的居然是orders而不是"缓存"的product_lists?!
<% @orders.each do |order| %>
为什么不是
<% @product_lists.each do |product_list| %>
背后必有深意啊...
继续写剩下的tbody发现更多疑惑, 就截图放上来
教程的打脸

我猜测一波, 莫非只是为了从这index页面点击order跳转后, 能依旧回到admin旗下的页面较"合理"? 但是不用token我就不太推测的出理由了...Orz
继续按照教程做下去, 有点理解了为啥用admin的path了, 因为要显示不同的内容, "平行世界"果然要有自己独自一套的内容呢. 然后也有"为啥用orders而不是product_lists"的线索
顺便记录一个错误


在写controller的时候, 居然用错方法去locate?!!用户取消订单


居然要用原始的 find(params[:id])
才没问题...看来我理解还是有问题...
小结 这部分比较难, 但是一口气做下来, 中间不要断开, 就能领悟很多
带着疑惑多做几遍, 特别是10.1与11.1要一口气做下来, 就get到精髓了. 一下子就能豁然开朗
网友评论