微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 在Rails控制台中使用asset_path

在我的角色模型中,我添加了:

character.rb

before_save do
  self.profile_picture_url = asset_path('icon.png')
end

但是,对于数据库中已存在的所有字符,其profile_picture_url为零.因此,我想进入控制台并遍历所有这些并设置它.在控制台我试过:

Character.find_each do |c|
  c.profile_picture_url = asset_path('icon.png')
end

但是这给出了错误

NoMethodError: undefined method `asset_path' for main:Object

我希望我已经充分地传达了我想要实现的目标.我哪里错了?

解决方法

查看 AssetHelper的文档:

This module provides methods for generating asset paths and urls.

您可以通过以下几种方式访问​​控制台中的asset_path:

ActionController::Base.helpers.asset_path('icon.png')

要么

include ActionView::Helpers::AssetUrlHelper
asset_path('icon.png')

另外在旁注和问题分开的情况下,如果你要更新你的所有角色,我会使用update_all作为你的profile_picture_url属性.

Character.all.update_all(profile_picture_url: asset_path('icon.png')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐