如何在使用 Ruby on Rails 3 的播种过程中避免验证、回调和“attr_accessible”效应?

2023-12-10

我正在使用 Ruby on Rails 3,并尝试在我的应用程序数据库中播种数据。

在“RAILS_ROOT/models/user.rb”中,我有:

class User < ActiveRecord::Base
  attr_accessible #none

  validates :name,
    :presence => true
  validates :surname,
    :presence => true
  validates :email,
    :presence => true
end

在“RAILS_ROOT/db/seeds.rb”中我有:

# Test 1
User.find_or_create_by_email (
  :name       => "Test1 name",
  :surname    => "Test1 surname",
  :email      => "[email protected]"
)

# Test2
User.find_or_create_by_email (
  :name       => "",
  :surname    => "",
  :email      => "[email protected]"
)

所以,在终端中运行

rake db:seed

当然,数据库不会填充数据,因为“attr_accessible”为零(案例测试1)并且验证未通过(案例测试2)。

我想在播种过程中跳过验证和“attr 可访问的效果”。 是否可以?如果是这样,该怎么做?

P.S.:我不想在“RAILS_ROOT/db/migrate/201....rb”代码中使用如下所示:

execute "INSERT INTO users ( name, surname, email ) VALUES ( "Test1 name", "Test1 surname", "[email protected]")"

UPDATE

我还需要跳过所有回调. 是否可以?如果是这样,怎么办?


如果你检查ActiveRecord 的文档你会看到attributes=方法有一个参数来启用此功能:

attributes=(new_attributes, guard_protected_attributes = true)

像这样使用它:

# Create a new user
@user = User.new

# Attributes for the user
@attrib = {
  :name       => "Test1 name",
  :surname    => "Test1 surname",
  :email      => "[email protected]"
}

# Use 'send' to call the attributes= method on the object
@user.send :attributes=, @attrib, false

# Save the object
@user.save

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在使用 Ruby on Rails 3 的播种过程中避免验证、回调和“attr_accessible”效应? 的相关文章

  • 显示用户密码和设备确认页面

    我试图在 Devise 邮件程序发送的确认页面中显示用户密码 确认页面为默认页面 Welcome email protected cdn cgi l email protection You can confirm your account
  • 验证错误消息中不包含字段名称

    如果我有以下验证 validates inclusion of dob in gt Date new 1900 Time now years ago 18 to date message gt You must be 18 or older
  • 正则表达式:匹配包含数字和字母的字符串,但不匹配仅包含数字的字符串

    Question 我希望能够使用单个正则表达式 如果可能 来要求字符串适合 A Za z0 9 但不允许 仅包含数字或 和符号的字符串 以符号开头或结尾的字符串 多个符号彼此相邻 Valid test 0123 t0e1s2t3 0123
  • Heroku上传-预编译资产失败

    我需要帮助 当尝试将我的应用程序上传到heroku时 我收到此错误 有人知道为什么吗 有几个是错的 谢谢 Using rake 10 1 0 Using tlsmail 0 0 1 Using uglifier 2 1 2 Your bun
  • 使用一条语句在 MySQL 中添加多列

    我试图将多个列添加到 phpMyAdmin 中的现有表中 但我不断收到相同的错误 1064 你的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法 我在写信 ALTER TABLE WeatherCente
  • 创建数据库索引的最佳实践和“经验法则”有哪些?

    我有一个应用程序 它循环访问数据库表中的大量记录 并对该数据库中的记录执行大量 SQL 和 Net 操作 目前我在 PostgreSQL 上使用 Castle ActiveRecord 我在几个字段上添加了一些基本的 btree 索引 正如
  • Rails:如何在setter方法中使父属性可用

    Context 我有一个company模型有很多projects 有很多tasks The company也有很多employees 这又具有许多tasks Schema Problem 我正在构建一个表单来创建一个项目 用户可以在其中添加
  • Rails 数据库默认值和布尔字段的模型验证

    在 Rails 模型中我有一个属性is subscriber 当我构建数据库迁移以将此列添加到数据库时 我指定默认值为 false t boolean is subscriber default gt false 我还在模型中指定了该属性需
  • 使用 webpacker 部署到 heroku 后,资产不存在于资产管道中

    我正在使用 Rails 5 2 3 我可以在本地下载 pdf 但Heroku它通过错误 500 错误是 ActionView Template Error 资源 pdf css 不存在于资源管道中 这是我的 Heroku 日志 2019 0
  • 数据库表可以没有主键吗?

    谁能告诉我关系数据库 例如MySQL SQL SERVER 中的表是否可以没有主键 例如 我可以有桌子day temperature 我注册的地方temperature and time 我不明白为什么要为这样的表设置主键 从技术上讲 您可
  • 如何使用过程填充数据库

    我有大约 15 个不同的表 其中填充了不同的数据和不同的实体关系 我需要创建一个脚本 用这些表的内容填充我的数据库 脚本完成后 我使用 sqlplus 在 cmd 中运行它 然后使用 START文件路径 我有两个不同的 sql 文件 一个名
  • 如何使用 ActionText 显示嵌入视频

    我正在尝试在 Rails 6 上使用 ActionText 显示嵌入式视频 无论是在 WYSIWYG Trix 中还是在渲染的内容中 但是 ActionText 渲染器会过滤所有原始 html 代码 并强制我使用 JS 在渲染内容中显示 i
  • Rails 是否支持侦听 UDP 套接字的简洁方式?

    在 Rails 中 集成更新模型某些元素的 UDP 侦听过程的最佳方式是什么 特别是向其中一个表添加行 简单的答案似乎是在同一进程中使用 UDP 套接字对象启动一个线程 但不清楚我应该在哪里执行适合 Rails 方式的操作 有没有一种巧妙的
  • JQuery 文件上传:在 data.submit() 上发送两个请求

    我正在尝试使用在我的应用程序中上传视频回形针 and jquery 文件上传 rails 我跟着使用回形针和 jquery 上传文件 https 5minutenpause com blog 2013 09 04 multiple file
  • Rails 3.2.6 中的延迟加载

    我在网上找到了一些资源 而不是在做类似的事情时 cars Car where colour gt black 查询不会执行 直到您执行以下操作 cars each c puts c name 但是 在我的 Rails 3 2 6 项目中 当
  • SQLite3 数据库中的派生字段

    各位晚上好 今天想问一个关于SQLite3中的派生字段 也称为计算字段 的问题 利用存储在我的数据库中的两个值 重量 和 距离 我知道可以利用它们来执行计算 以利用需要这两个值的公式返回我想要的值 但是我想知道是否有一种方法可以通过 SQL
  • 预编译 Rails 5 以包含所有资源

    我正在尝试预编译所有资产以进行生产 当我跑步时RAILS ENV production bundle exec rake assets precompile并非我的所有资源都经过预编译 我尝试过使用其他人在其他类似问题中建议的方法 但它们对
  • 使用 Flask 时在 Python 中实现持久数据库连接的最佳实践

    我的问题是关于在生产环境或其他关注性能的环境中使用 Flask 时处理数据库连接的推荐方法 在 Flask 中 g 对象可用于存储内容 并且可以将打开的数据库连接放置在那里 以允许应用程序在同一请求期间的后续数据库查询中重用它们 但是 g
  • Rails 5 api - 未定义的方法“user_url”

    我在 API 模式下使用 Rails 5 启动了一个新项目 目前我只是创建项目 设置数据库并使用脚手架命令 rails g scaffold User 我用邮递员尝试我的代码来创建一个新用户 POST Request URI localho
  • 将文件保存为 MYSQL 数据库中的 blob 或文件路径

    我知道这些问题是常见问题之一 但我需要您针对具体案例提供帮助 我正在开发一个应用程序 其中一些用户可以添加订单 一些用户可以执行这些订单 这些订单非常具体 因此只有有限数量的用户可以添加它们 然后 为每个订单生成三个文档 每个文档的大小不超

随机推荐

  • 如何使用应用程序脚本获取有权访问 Google 共享云端硬盘的所有用户的列表

    我使用 getEditors 获取电子表格的编辑者列表 返回的列表包括共享云端硬盘用户 但是 对共享云端硬盘具有 内容管理员 访问权限的用户不包含在列表中 出现这种情况有什么原因吗 我还发现 getAccess 可用于获取特定用户对驱动器文
  • 根据不同的列名连接表

    我正在观看 Greg Reda 制作的关于 Pandas 的视频 1 看看 Pandas 可以做什么 与 data table 相比如何 我很惊讶地发现在 data table 中连接表是多么困难 如果您观看视频 特别是 49 00 到 5
  • 通过 NVarChar(Max) 列进行 SSIS 查找

    我想通过查找目标表中的 NVarChar Max 列和源表中的 NVarChar 20 列来从目标表获取 id 但引发错误Cannot map the lookup column Column1 because the column dat
  • jQuery:移动设备的键盘事件

    我在 iPhone 上触发 keyup 事件时遇到一些问题 我的代码如下 var passwordArray word test hello another here var test document getElementById ent
  • VBA 循环遍历用户窗体中的文本框控件

    我已经浏览了许多有关循环用户窗体控件的帖子 但似乎无法调整我找到的代码来满足我的需要 并且需要一些帮助 我想弄清楚的场景 我的用户表单上有 44 个文本框 其名称均以 ch 开头 例如 chTextBox1 当用户窗体激活时 我需要循环所有
  • 数据更改后重新加载 JTable 的 Object[][]

    我想知道是否可以刷新表的 GUIObject 用于最初填充它的内容已更改 Object calculationsTableData public Interface analysisPanel add calculationsTable J
  • 在mysql数据库中存储瑞典语字符

    我在 MySQL 数据库中存储瑞典语字符时遇到问题 我想将它们存储在我的表中users使用 utf8 bin 排序规则 即使我使用 utf8 字符 存储为 我不知道为什么 检索数据并回显给我相同的输出 但带有奇怪的字符而不是 任何帮助表示赞
  • 如何将 Bitmap 对象从一个活动传递到另一个活动

    在我的活动中 我创建了一个Bitmap对象 然后我需要启动另一个对象Activity 我怎样才能通过这个Bitmap来自子活动 即将启动的活动 的对象 Bitmap实施Parcelable 所以你总是可以带着意图传递它 Intent int
  • 如何在 sns clustermap 中标记集群

    我正在使用以下代码创建聚类图 import numpy as np import pandas as pd import seaborn as sns all net names early vis face motion scene sc
  • 使用 xlwt for excel 在 python 中预格式化为货币和两位小数

    我有一个列标题Fee Using xlwt in python 我成功生成了所需的Excel 创建Excel文件时此列始终为空 是否有可能拥有Fee列预格式化为 货币 和 两位小数 这样当我在Fee下载后Excel文件的列 23应该变成 2
  • 非托管资源和 Dispose()

    我正在读一些关于Dispose 方法并发现非托管资源应该显式释放Dispose 方法 或 Finalize 方法 文章称文件句柄和数据库连接对象是非托管资源的示例 谁能解释为什么这些是非托管的以及如果在 Dispose 中处理不当会发生什么
  • 使用 UIActivityViewController 共享视频时,视频未附加到邮件中

    我正在使用下面的代码来共享位于设备上的视频 它非常适合通过消息 facebook 和 iCloud 共享 但不适用于邮件 我可以看到邮件选项在那里 但在邮件草稿中 视频不存在随附的 在代码中 videoAsset is a PHAsset类
  • Delphi 字节逆序

    我一直在尝试编写一个函数 它接受两个指针 一个输入和一个输出 并以相反的顺序将输入中的字节写入输出 到目前为止我还没能让它正常工作 procedure ReverseBytes Source Dest Pointer Size Intege
  • 请求已被阻止;内容必须通过 HTTPS 提供

    我正在后端使用 Spring Security 和 Spring MVC 以及前端使用 Angular 进行应用程序 我的问题是我正确登录 但注销时的问题我在本地主机中正确实现 http localhost 8080工作没有问题 当我将其更
  • Azure Function 在应用程序服务计划中调用自身两次

    我的 azure 函数中有以下代码 手动超时为 10 分钟 using System Net public static async Task
  • 在阻塞 webRequest 处理程序中使用异步调用

    Summary 我正在使用一个browser webRequest onBeforeRequest处理程序 我需要阻止 webRequest 直到从处理程序中调用异步方法返回信息为止 我怎样才能做到这一点 细节 首先 我对这个长问题表示歉意
  • 如何编写一段java代码,让一个实例只发生一次?

    我正在写一个应用程序 在该应用程序中 我有一个实例 我只想在第一次打开应用程序时发生 我想知道如何用 Java 编写一些东西 只让该实例第一次发生 比如注册码之类的 持久存储 创建一个单例 Blackberry 开发论坛有一个出色的单例方法
  • C# 可排序集合,允许重复键

    我正在编写一个程序来设置各种对象在报告中出现的顺序 该序列是 Excel 电子表格上的 Y 位置 单元格 代码的演示部分如下 我想要完成的是拥有一个集合 这将允许我添加多个对象 并且我可以根据顺序获得排序的集合 SortedList lis
  • AJAX 从文件中读取

    我正在使用 AJAX 读取文本文件 如何只读取第一行 此代码应该可以帮助您从远程文本文件中读取 var txtFile new XMLHttpRequest txtFile open GET http my remote url myrem
  • 如何在使用 Ruby on Rails 3 的播种过程中避免验证、回调和“attr_accessible”效应?

    我正在使用 Ruby on Rails 3 并尝试在我的应用程序数据库中播种数据 在 RAILS ROOT models user rb 中 我有 class User lt ActiveRecord Base attr accessibl