问题标签 [rails-5.1.6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
128 浏览

ruby-on-rails - rails to_json 返回单个字段

我正在使用方法“.to_json”来呈现我的结果,如下所示:

“这是我控制器中的一条路线”

我正在使用这种方法来询问我的数据库:

“这是在我的存储库中”

我的问题是:我想从具有“locale_id”1 的“article_designations”表中获取“名称”。我每次只有一个 ID 为 1 的名称。

所以现在我在我的结果中得到了这个:

但最后我想要这个:

我怎样才能继续只有键/值而不是键/值(数组)=>键/值?

谢谢

0 投票
0 回答
460 浏览

activerecord - '0' 附近的语法不正确。: EXEC sp_executesql N'SELECT [users].* FROM [users] OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY', N'@0 int', @0 = 1

我正在使用带有 activerecord-sqlserver-adapter 5.1.6、tiny_tds 2.1.2 的 rails 5.1.6。和 SQL Server 2017。

数据库访问正常,

SQL (1.1ms) 使用 [MIST_Test]

用户负载 (1.5ms) EXEC sp_executesql N'SELECT [users].* FROM [users] OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY', N'@0 int', @0 = 1 [["LIMIT", nil] ]

ActiveRecord::StatementInvalid: TinyTds::Error: '0'附近的语法不正确。: EXEC sp_executesql N'SELECT [users].* FROM [users] OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY', N'@0 int', @0 = 1

来自 C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activerecord-sqlserver-adapter-5.1.6/lib/active_record/connection_adapters/sqlserver/database_statements.rb:368:in `each'

由 TinyTds::Error 引起:“0”附近的语法不正确。

来自 C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activerecord-sqlserver-adapter-5.1.6/lib/active_record/connection_adapters/sqlserver/database_statements.rb:368:in `each'

SQL Server 需要一个“ORDER BY”才能使用“OFFSET”子句。

有人可以帮忙吗?

0 投票
2 回答
95 浏览

mysql - 如何通过join和group by获取rails中最后输入的记录字段?

我正在使用带有 ruby​​ 2.4 的 rails 5.1 并且我被困在 rails 活动记录查询中,我已经在 SQL 中完成了它,但无法以 rails 方式复制它。请建议正确的语法,在此先感谢。Sql 查询是:

在rails中进行的相应查询是:

这给出了以下错误:

输出应为:

代替: