我有一個Rails應用程序,它有2個數據庫。Rails:將數據從1個控制器中的實例變量傳遞到另一個控制器中的實例變量
- 傳統DB與表叫:企業
- 常規發展DB自帶的Rails應用程序。
我在Businesses表中有要放入開發數據庫的數據。要做到這一點,我已經採取了以下措施:
設置應用程序,這樣我可以從企業DB閱讀,看看在瀏覽器中輸出。 我完成這通過創建一個模型
Business
和BusinessesController
類,其讀取從所述businesses
表中的所有數據,並在一個實例變量@businesses
存儲的條目然後創建了一個模型被稱爲
Listing
和ListingsController
。我想閱讀@businesses
在BusinessesController
中的所有條目,並將它們存儲在ListingsController
的@listings
中。
因此基本上所有我需要做的是採取存儲在一個實例變量數據,並將其保存在另一個實例變量。我不知道如何在Rails中做到這一點。
到目前爲止,我有以下類:
提供商家
class Business < ActiveRecord::Base
establish_connection "Listings_development"
end
class BusinessesController < ApplicationController
def get_all
@businesses = Business.all
end
def index
self.get_all
respond_to do |format|
format.html #index.html.erb
end
end
end
index.html.erb
<h1>Listing businesses</h1>
<table>
<tr>
<th>Index</th>
<th>Name</th>
<th>Phone Number</th>
<th>Suite</th>
<th>Address</th>
<th>City</th>
<th>Province</th>
<th>Postal Code</th>
<th>Fax</th>
<th>Latitude</th>
<th>Longitude</th>
<th>Website</th>
</tr>
<% count = 0 %>
<% @businesses.each do |business| %>
<!--<%=business.inspect %> <br> <br>-->
<%count = count.to_i + 1 %>
<tr>
<td><%= business.bid %></td>
<td><%= business.company_name %></td>
<td><%= business.phone_number %></td>
<td><%= business.suite_number %></td>
<td><%= business.address %></td>
<td><%= business.city %></td>
<td><%= business.province %></td>
<td><%= business.postal_code %></td>
<td><%= business.fax_number %></td>
<td><%= business.latitude %></td>
<td><%= business.longitude %></td>
<td><%= business.website %></td>
<% end %>
</table>
<br />
<%= link_to 'New Business', new_business_path %>
房源
class Listing < ActiveRecord::Base
attr_accessor :name, :telephone
def initialize(attributes = {})
@name = attributes[:name]
@telephone = attributes[:telephone]
@latitude = attributes[:latitude]
@longitude = attributes[:longitude]
puts 'Created a new Listing'
end
end
class ListingsController < ApplicationController
def get_all
@listings = @businesses
# @listings = businesses_controller.get_all
end
def index
self.get_all
respond_to do |format|
format.html #index.html.erb
end
end
end
index.html.erb
<h1>Listings</h1>
<p>This is where all Listings will show up</p>
<%= @listings.inspect %> <br/>
<%= @businesses.inspect %>
當我去到URL
http://localhost:3000/businesses
我可以看到所有的條目表在我的遺產DB - 企業表在瀏覽器
但是,當我去到網址:
http://localhost:3000/listings
我剛纔看到的佔位符文本併爲@businesses
&值我看到nil
。
因此很顯然@businesses
變量在ListingsController
類中不可訪問。我想知道如何在這兩個控制器之間傳遞最佳數據。
請閱讀如何正確使用[SO格式化過程中(http://stackoverflow.com/editing-help)。 – 2012-03-11 21:25:23
另外我認爲,如果你告訴我們你最好實現的是什麼,因爲不管它是什麼,你都不會以正確的方式去做。 – 2012-03-11 21:33:04
道歉!仍在學習繩索SO :) – banditKing 2012-03-11 21:36:17