레일 ORM에서 CouchDB로 Couchrest_model을 사용하고 있습니다. Rails가 두 개의 서로 다른 CouchDB 문서의 정보를 "결합"하여보기를 원하지만 Rails가 결합 된 데이터를 자동 검색하는 것처럼 보이지는 않습니다.레일 뷰에서 두 CouchDB 모델의 정보 결합하기
class Package < CouchRest::Model::Base
belongs_to :vendor
property :shortcode, String
property :pins, Integer
end
class Vendor < CouchRest::Model::Base
property :vendor, String
timestamps!
end
그래서, 지금/패키지 내 index.html.erb에 내 두 모델에서 데이터가있는 테이블을 표시하려면 :
<h1>Listing packages</h1>
<table>
<tr>
<th>Shortcode</th>
<th>Pins</th>
<th>Vendor</th>
<th></th>
</tr>
<% @packages.each do |package| %>
<tr>
<td><%= package.shortcode %></td>
<td><%= package.pins %></td>
<td><%= package.vendor %></td>
<td><%= link_to 'Show', package %></td>
<td><%= link_to 'Edit', edit_package_path(package) %></td>
<td><%= link_to 'Destroy', package, confirm: 'Are you sure?', method: :delete %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New Package', new_package_path %>
다음
은 관련된 두 모델의
공급 업체 모델에서 공급 업체 문자열을 표시하려고합니다. CouchDB를 사용하여 모델간에 "조인 된"정보를 표시하기 위해 뷰에서 선택기 도우미를 사용했지만 뷰 테이블에 문자열을 인쇄하는 단순한 경우에는 조인하는 방법을 알 수 없습니다. 나는 표준
@packages = Package.all(:include => :vendor)
일을 시도했지만 Couchrest_model는 공급 업체 정보에 당기지 않는
class PackagesController < ApplicationController
# GET /packages
# GET /packages.json
def index
@packages = Package.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @packages }
end
end
: 여기
꽤 표준 인덱스에 해당하는 패키지 컨트롤러의 그런 식으로 ...
제가 생각할 수있는 가장 간단한 해결책은