gpt4 book ai didi

ruby-on-rails-3 - Rails 3 加载邮件固定装置。我该如何阻止这种情况发生?

转载 作者:行者123 更新时间:2023-11-28 20:18:26 25 4
gpt4 key购买 nike

我假设这是一个 Rails 惯例,即邮件程序固定装置驻留在以该邮件程序类名称命名的文件夹中,并且在该文件夹内是以邮件程序类中的每个操作命名的固定装置。

但是当我运行我的单元测试时,我注意到 rails 引发和错误,因为它试图在邮件程序类和邮件程序操作类放在一起之后删除测试表名称......这很奇怪,我本以为 rails 会知道更好,忽略这些仅用于邮件内容格式比较的固定装置。

关于邮件固定装置的 Rails 3 文档:

10.2.1 Revenge of the Fixtures

For the purposes of unit testing a mailer, fixtures are used toprovide an example of how the output should look. Because these areexample emails, and not Active Record data like the other fixtures,they are kept in their own subdirectory apart from the other fixtures.The name of the directory within test/fixtures directly corresponds tothe name of the mailer. So, for a mailer named UserMailer, thefixtures should reside in test/fixtures/user_mailer directory.

我正在使用 rails 3.0.12

测试助手内容:

ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'

class ActiveSupport::TestCase
fixtures :all
# Add more helper methods to be used by all tests here...
end

我的灯具目录布局:

test/fixtures/card_sender_mailer/card_update_notificaiton.yml

这是错误:

ActiveRecord::StatementInvalid: Mysql2::Error: Table 'monkey_test.card_sender_mailer_card_update_notification' doesn't exist: DELETE FROM `card_sender_mailer_card_update_notification`

我假设因为我正在加载所有固定装置,所以它也在尝试加载它,那么我该如何加载除邮件固定装置之外的所有固定装置?

更新 1

当我尝试在终端中使用 rake 加载 fixtures 时,我得到了类似的错误:

Tasks: TOP => db:fixtures:load
(See full trace by running task with --trace)
/Users/victorstan/Sites/ContactMonkey ∴ bundle exec rake db:fixtures:load
rake aborted!
Mysql2::Error: Table 'monkey_development.card_sender_mailer_card_update_notification' doesn't exist: DELETE FROM `card_sender_mailer_card_update_notification

最佳答案

尽管有 Rails 文档,我还是会回答我自己的问题:如果您不想将邮件程序加载到数据库中,则它们应该是 .txt 文件而不是 .yml 文件。也许有一天我会为文档做出贡献。

关于ruby-on-rails-3 - Rails 3 加载邮件固定装置。我该如何阻止这种情况发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9677151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com