ruby-on-rails - ActiveRecord:如何获取模型的所有可批量分配的属性?

标签 ruby-on-rails activerecord

我想要一个可以批量分配的所有属性名称的列表。我需要这个自定义表单生成器,默认情况下不会添加无法批量分配的输入字段。

例如,如果我有以下模型:

class Post < ActiveRecord::Base
  attr_protected :account

  belongs_to :author

  validates_presence_of :title, :author
end

我想要一个结果[:author, :title]

最佳答案

如果您明确定义了 attr_accessible,Post.accessible_attributes 将覆盖它

除此之外,做这样的事情虽然笨拙但有效:

Post.new.attributes.keys - Post.protected_attributes.to_a

关于ruby-on-rails - ActiveRecord:如何获取模型的所有可批量分配的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1526066/

相关文章:

javascript - 即使加载了 UJS,Rails DELETE 调用也不起作用

ruby-on-rails - Sidekiq Redis::CannotConnectError:在生产环境中连接到 127.0.0.1:6379 上的 Redis 时出错

ruby-on-rails - 为什么这个简单的 RSpec 字符串相等规范会失败?

ruby-on-rails - searchkick/elasticsearch 设置具有多个属性的自动完成

php - 代码点火器, mysql

ruby-on-rails - 如何使用 Rails #order 方法避免 SQL 注入(inject)

mysql - ActiveRecord::Base.connection.execute 受影响的行

ruby-on-rails - ActiveRecord 在简单创建时引发重复键错误

ruby-on-rails - 从具有多态关联的一个表中检索行

javascript - AJAX POST 请求上没有方法错误