有一个 module User,并且生成一个表 users,有一个字段 user_name 在控制台 rails console one=User.new() one.user_name="anleb"
上面都没问题 one.x="123" 出问题?
我想知道 rails 怎么知道 有什么字段,没有什么字段?
User.column_names
ActiveRecord 从数据库查询 Model 对应的表的字段(详见 ActiveRecord 源代码中的 active_record/model_schema.rb 和 active_record/connection_adapters/schema_cache.rb),然后在第一次调用这些方法时,在 method_missing 中生成这些方法(见 active_record/attribute_methods.rb)。