Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
@jk0
Member
NO. 19281 / 2015-06-09

成都
1 Topics / 11 Replies
0 Followers
2 Following
59 Favorites
初学者,玩命爬技能树中…
No GitHub.
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 用 Go 写了个类似 ActiveRecord 的 ORM 库, gorm at August 05, 2016

    闲得没事搜了一下,还真有人实现了一次。。NB👍 😁

  • RubyConf China 2016 赞助征集 at July 13, 2016

    总算轮到成都了,一定要去。👍 😁

  • Rails 用 RJS 简单有效的实现页面局部刷新 at April 10, 2016

    果然没有什么是上一次厕所不能解决的,如果不行,那就两次。

  • Rails 在 Windows 下的完整开发环境压缩包 (Ruby 2.1.7 和 2.2.4) at June 26, 2015

    我已经从 windows 逃跑了。 👏

  • 最近每晚在斗鱼 TV 直播学习 Ruby、RoR,开个帖记录下,欢迎围观! at June 20, 2015

    @laoyuan 木工赞!

  • 关于 UserMailer.welcome (@user).deliver_later 使用中遇到的一个问题 at June 20, 2015

    #11 楼 @rei 是这样的,数据库里存了 activation_digest,也就是 token 的哈希摘要,这个 token 只存在于用户收到的邮件链接里面,核对的时候取摘要和数据库里面的对比。 create_activation_digest 方法是我失误删掉了,回去补上。

  • 关于 UserMailer.welcome (@user).deliver_later 使用中遇到的一个问题 at June 20, 2015

    #9 楼 @lolychee 谢谢解惑,目前我是增加了 token 参数传递解决这个问题(你最后提出的方法),因为觉得这个字段不应该持久化。rei 所说有办法不加字段生成 token,我正在看资料增进对 rails 和 ruby 的了解。 😄

  • 关于 UserMailer.welcome (@user).deliver_later 使用中遇到的一个问题 at June 20, 2015

    #7 楼 @rei 哈哈,这个我正在看,问题解决了再来改成已解决。

  • 关于 UserMailer.welcome (@user).deliver_later 使用中遇到的一个问题 at June 20, 2015

    #5 楼 @rei 多谢站长(是站长吧?),刚刚啃完初级的书,能不能推荐一本进阶的看。

  • 关于 UserMailer.welcome (@user).deliver_later 使用中遇到的一个问题 at June 20, 2015

    #3 楼 @rei activation_token 的设置在 models/user.rb 里面,使用 before_create 调用的 create_reset_digest 方法设置值。 我再理一下过程,上面看起来还是有点乱。 1.注册账号的时候进入 controllers/users_controller.rb 的 create 方法。 2.create 方法通过实例化对象 @user 获取 User.new(form_params),这个时候 acvication_token 是有值的。 3.@user 保存成功后使用 models/user.rb 也就是自身的一个方法 send_activation_email 发送邮件。 4.send_activation_email 中使用 UserMailer.account_activation(self).deliver_later 发送邮件。 5.被调用的 UserMailer(mailers/user_mailer.rb ) 会将传递过来的对象赋值给一个新的实例对象 @user 以供在邮件模板 /views/user_mailer/account_activation.html.erb 中使用。 6.邮件模板中使用了具名路由生成链接 edit_account_activation_url(@user.activation_token,email: @user.email),但是 @user.activation_token 值是 nil,然后报错。

    在第 3 步的时候还有值,打到这里我突然想起 deliver_later 使用了 ActiveJob 我应该去看一下日志。。然后发现一件事情,deliver_now 是直接把 整个对象传递过去的,而使用 deliver_later 的时候是新建了一个 user 到数据库去取的值,问题应该是在这里了,请问应该怎么解决呢。 调试的图片我去编辑原文补上。

  • 关于 UserMailer.welcome (@user).deliver_later 使用中遇到的一个问题 at June 20, 2015

    #1 楼 @rei 补了个图,你看这个行不行 😄

关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English