Ruby on rails 如何将SQLServer2005与RubyonRails结合使用
我正试图让RubyonRails从Windows7 64位开发机器在网络上与SQLServer2005一起工作 我编辑了database.yml:Ruby on rails 如何将SQLServer2005与RubyonRails结合使用,ruby-on-rails,ruby,sql-server,Ruby On Rails,Ruby,Sql Server,我正试图让RubyonRails从Windows7 64位开发机器在网络上与SQLServer2005一起工作 我编辑了database.yml: development: <<: *default adapter: sqlserver dsn: ODBC_SYSTEM_DSN username: admin password: ******** host: 111.222.333.444 我运行了以下命令: rails generate scaffold
development:
<<: *default
adapter: sqlserver
dsn: ODBC_SYSTEM_DSN
username: admin
password: ********
host: 111.222.333.444
我运行了以下命令:
rails generate scaffold Employee
rake db:migrate RAILS_ENV=development
看起来所有的东西都被创造出来了。将浏览器发送到此处:
然后我收到了这个错误:
没有路线匹配[张贴]/员工/新
由于ruby解释似乎供不应求,所以不确定发生了什么,我尝试将此添加到routes.rb:
post 'employees/show'
如果这个猜测是对的,我就走得更远了。我甚至试过:
post 'employees/new'
然后我发现了这个错误,它似乎无法识别列名:
新员工中的命名错误
根据该代码:
<p>
<%= f.label :ID %><br>
<%= f.text_field :Emp_ID %>
</p>
我想看看我是否能看到数据库,因为仅仅设置它是一个挑战,没有任何明确的指示。但是,似乎它可能不知道这是如何工作的,这是没有帮助的。似乎我发现的每个示例都有不同之处,没有任何解释。我建议不要玩脚手架或路由,直到您能够验证Rails可以与您的DB对话,并且模型正确映射到DB表 rails控制台是您的朋友。仅使用控制台并在app/models中创建测试模型 Rails的表名和列名总是小写的,所以最好还是坚持这种格式,至少在您可以开始工作之前 除非另有规定,Rails表名也总是模型名的复数形式。因此,为了为您的目的创建一个简单的测试用例,您需要命名您的表employees,并且您的模型名将是Employee 然后运行rails控制台,只需在提示符处键入Employee。如果一切正常,您应该看到控制台将模型名和列名写回给您
在这个简单的测试之后,您可以更有信心继续下一步,因为现在您应该知道数据库连接工作正常。需要将表命名为employees Multiple。请看下面我的答案。谢谢你的回复。我无法命名表Employees,因为已存在具有该名称的对象。我制作了一个名为Cars的新表格,还创建了一个模型。我试着在提示下输入Cars,它的回复是namererror:未初始化的常量Cars。这是否意味着与数据库的连接不好,或者需要执行其他操作?模型名称应为单数,表应为复数。所以您需要创建类Car
<p>
<%= f.label :ID %><br>
<%= f.text_field :Emp_ID %>
</p>