我在使用ActiverEcord访问MSSQL Server上的模式的团队中工作。修改模式不是一个选项,列名称中有空格,la SPACEY COLUMN
。
编写ActivereCord类以访问带有空间的表格时,什么是好练习?
我们还需要与工厂女孩一起工作...
ar-jdbc(以及ar-sqlserver-aDapter)将/应该可以处理此操作,因为它自动使用" [列名称]"。。我个人会隐藏起来,不要尽可能多地冒泡使用别名:
class MySpacey < ActiveRecord::Base
set_table_name 'SPACEY TABLE'
set_primary_key 'MY ID'
alias_attribute :id, :'MY ID'
end
考虑User
是模型,User Name
是您需要访问的列。
User.where('User Name' => 'Bob')
您也可以添加多个条件,
User.where('User Name' => 'Bob', 'Email Address' => 'sample@sample.com')
您也可以尝试,
User.where('[User name] = ? AND [Email Address] = ?', 'Bob', 'sample@sample.com')
,如果您的桌子本身有空间。尝试,
class User < ActiveRecord::Base
self.table_name = "user table"
end