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')

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...