【发布时间】:2020-01-30 01:40:42
【问题描述】:
我正在努力“破解”一个 ActiveRecord_Relation 以便在 Rails 中的视图中呈现。我收到如下回复:
#<ActiveRecord::Relation [#<Request id: 25803, time_inserted: "2019-07-27 17:20:17", time_modified: "2019-08-03 17:37:48", time_completed: "2019-08-03 17:37:48", disposition: "Forced Ignore", account: "301385", trans_uuid: "008326d4-b090-11e9-aead-0282b642e944", customers_identifier: "46134865dfdsaasdfs4", customers_reason: "E", customers_customer: "reveltransit", request_state: "NY", request_license: "12345678", request_lastname: "BOLLS", request_firstname: "JEFF", request_middlename: nil, request_dob: nil, request_gender: "">, #<Request id: 25919, time_inserted: "2019-07-27 17:40:17", time_modified: "2019-08-03 17:37:48", time_completed: "2019-08-03 17:37:48", disposition: "Forced Ignore", account: "301385", trans_uuid: "008326d4-b090-11e9-aead-0282b642e944", customers_identifier: "4434kjk34k3j43kk34j3", customers_reason: "E", customers_customer: "reveltransit", request_state: "NY", request_license: "12345678", request_lastname: "BOLLS", request_firstname: "JEFF", request_middlename: nil, request_dob: nil, request_gender: "">, #<Request id: 26069, time_inserted: "2019-07-27 18:00:20", time_modified: "2019-08-03 17:37:48", time_completed: "2019-08-03 17:37:48", disposition: "Forced Ignore", account: "301385", trans_uuid: "008326d4-b090-11e9-aead-0282b642e944", customers_identifier: "461348652f19ffc4901efc8e31c4", customers_reason: "E", customers_customer: "reveltransit", request_state: "NY", request_license: "12345678", request_lastname: "BOLLS", request_firstname: "JEFF", request_middlename: nil, request_dob: nil, request_gender: "">]>
我的模型如下所示:
class Request < ApplicationRecord
establish_connection(:development)
self.table_name = "incoming"
def self.search(search)
self.where(:trans_uuid => search)
end
end
我的控制器中的搜索方法:
def search
results = Request.search(params[:search])
@records = results.pluck(:trans_uuid)
byebug
end
和视图:
<%= form_with url: requests_search_path, method: :get do |form| %>
<%= form.text_field :search %>
<%= form.submit 'Search' %>
<% end %>
<h3><u>Search Results</u></h3><br />
<h4><%= @records.map { |record| record } %></h4>
无法让它在视图中呈现,因为它始终是一个数组。如果我尝试对其进行迭代,我会收到 no method 错误。
【问题讨论】:
-
哪个变量总是数组?哪一行给你一个错误?你能粘贴完整的堆栈跟踪或至少完整的错误消息吗?
-
results是返回的ActiveReocrd_Relation对象。@records是一个数组,然后我尝试按照 Sebastian Palma 的建议使用each对其进行迭代,但视图中没有渲染,但没有渲染。 -
如果我尝试迭代它,我得到一个无方法错误,你能添加那个错误吗?
-
我很抱歉。我想我解决了这个问题。那是在我在控制器中使用
.pluck方法之前,然后它在views中被迭代。现在没有错误,返回是gist.github.com/dsound-zz/e548efdb15d4afc784f03cfebdd351ad -
该操作正在返回 JS 响应,请参阅日志 (RequestsController#search as JS)。应该有一个可以处理该结果的 JS 文件。
标签: ruby-on-rails activerecord view controller