Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将SQLServer2005与RubyonRails结合使用_Ruby On Rails_Ruby_Sql Server - Fatal编程技术网

Ruby on rails 如何将SQLServer2005与RubyonRails结合使用

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

我正试图让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 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>