gpt4 book ai didi

ruby-on-rails - Post.create 方法不正确的参数数量(3 个为 2 个)

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:28 24 4
gpt4 key购买 nike

我在使用 ActiveRecord 放置在表上的最近迁移时遇到问题。这是创建表的初始迁移:

class CreatePosts < ActiveRecord::Migration
def change
create_table :posts do |t|
t.string :title
t.text :content

t.timestamps
end
end
end

我后来在这次迁移中添加了一个字段:

class AddPrivateToPosts < ActiveRecord::Migration
def change
add_column :posts, :private, :boolean
end
end

每当我调用 Post.create("Title", "Content", true)Post.create!("Title", "Content", true) ,我收到 too many arguments 错误。有人可以帮我解决这个问题吗?

最佳答案

您应该将包含所需属性的散列传递给 Post.create,例如Post.create(title: 'title', content: 'content', private: true)

Ruby 函数调用总是可以以参数散列结束,散列符号 { } 可以省略。在这种情况下,散列被传递给 create 的第一个参数,即属性散列。或者,您可以显式传递散列,然后将更多类似散列的参数传递给第二个 options 参数,例如

Post.create({title: 'title', ...}, without_protection: true)

API 引用 herehere

关于ruby-on-rails - Post.create 方法不正确的参数数量(3 个为 2 个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19530454/

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