Ruby on rails RubyonRails现有Sybase数据库
我正在尝试使用Rails连接到现有的Sybase db,并填充一些选择列表。以下是我迄今为止所做的:Ruby on rails RubyonRails现有Sybase数据库,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在尝试使用Rails连接到现有的Sybase db,并填充一些选择列表。以下是我迄今为止所做的: 1.已安装和配置FreeTDS 2.已安装的TinyTDS gem 如果我执行命令tsql-S serverName-U userName,我就能够查询数据。我的config/database.yml配置如下: development: adapter: sybase host: <sybase_host> port: <port_no>
1.已安装和配置FreeTDS
2.已安装的TinyTDS gem 如果我执行命令tsql-S serverName-U userName,我就能够查询数据。我的
config/database.yml
配置如下:
development:
adapter: sybase
host: <sybase_host>
port: <port_no>
username: <user>
password: <password>
database: <db>
当我尝试在rails控制台中运行SybaseDb.new
命令时,它似乎不起作用。我是Rails的新手,所以我做错了什么
谢谢 所有内容都指向生成一个名为sybase_db的模型的部分。Rails中的模型通常链接到数据库中的特定表,而不是整个数据库。Rails使用命名约定简化表和列与模型和属性的链接
例如,如果您有一个模型User
,其属性为name
和email
,该模型链接到数据库中名为users
的表中,并具有列name
和email
,那么各种奇妙的Rails魔法就可以发挥作用。您可以启动rails控制台并执行User.all
,以生成数据库中所有用户的集合。或者你可以做类似的事情
> u = User.find_by_email 'joe@example.com'
=> #<User id: 123, email: "joe@example.com", name: "Joe"...>
> u.name
=> "Joe"
你可以用它来更进一步
根据现有系统的扩展程度,您可能会发现Rails的所有魔力都消失了。Rails帮助我们避免所有这些映射,并遵循强大的命名约定,为我们提供各种奇妙的酷感。如果您现有的系统具有强大且可预测的命名约定,并且与Rails的方式相差不远,那么您可能能够成功地使用Rails。您可以扩展到“似乎不起作用”吗?您的Gemfile
中有哪些内容允许您使用适配器:sybase
在数据库.yml
中工作?我一直在尝试使用activerecord sqlanywhere适配器
,但没有效果
> u = User.find_by_email 'joe@example.com'
=> #<User id: 123, email: "joe@example.com", name: "Joe"...>
> u.name
=> "Joe"
class User < ActiveRecord::Base
set_table_name "t_user"
set_primary_key "user_id"
end