gpt4 book ai didi

ruby-on-rails - Assets 模型缺少带有回形针的必需 attr_accessor

转载 作者:行者123 更新时间:2023-12-04 06:06:31 25 4
gpt4 key购买 nike

我正在尝试将多个文件 Assets 上传到电影。我不断收到错误 Asset model missing required attr_accessor for 'asset_file_name' 我不知道为什么,这是我的代码:

asset.rb 模型

class Asset < ActiveRecord::Base
belongs_to :movie

has_attached_file :asset
end

movie.rb 模型

class Movie < ActiveRecord::Base
belongs_to :user

has_many :assets
accepts_nested_attributes_for :assets

validates :title, presence: true

default_scope order: 'movies.created_at DESC'
end

我还运行了 rails g 回形针电影 Assets ,它生成了以下迁移文件

class AddAttachmentAssetToMovie < ActiveRecord::Migration
def self.up
add_column :movies, :asset_file_name, :string
add_column :movies, :asset_content_type, :string
add_column :movies, :asset_file_size, :integer
add_column :movies, :asset_updated_at, :datetime
end

def self.down
remove_column :movies, :asset_file_name
remove_column :movies, :asset_content_type
remove_column :movies, :asset_file_size
remove_column :movies, :asset_updated_at
end
end

这是我生成 Assets 模型时的“创建 Assets ”迁移:

class CreateAssets < ActiveRecord::Migration
def change
create_table :assets do |t|
t.string :asset_file_name
t.integer :asset_file_size
t.string :asset_content_type
t.datetime :asset_updated_at
t.text :asset_description
t.integer :movie_id

t.timestamps
end
end

谁能建议我为什么会收到错误Asset model missing required attr_accessor for 'asset_file_name'

最佳答案

Rails 的较新版本(正确地)对批量分配偏执。在 Asset 模型中添加 attr_accessible :asset_file_name 以声明您的数据库可以接受请求中的外部参数输入。

为了更安全,请在您的 application.rb 中取消注释 config.active_record.whitelist_attributes = true(然后测试所有内容),这样您就会被迫认为“是的,这很好,不会发生任何不好的事情”对于您让用户更新的任何属性。

关于ruby-on-rails - Assets 模型缺少带有回形针的必需 attr_accessor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9773533/

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