我从一个月开始学习rails。我正在建立一个网站,学习越来越多。但自1周以来我被封锁了...我尝试了很多东西,在谷歌上搜索。但是,没有什么工作:(Rails如何显示两个数据库关联
所以我有4个数据库: 1)露营(杆状) 2)区(类别) 3)DEPARTEMENT(州) 3)威乐(市)
我想显示特定区域或/和Departement或/和ville的Camping(post)。我的参数可以是ID或:slug。
因此,当用户继续exemple.com/regions/1时,我想显示当前区域的出发列表并为所有此区域进行露营。
点击一个部门exemple.com/nameofregion/nameofdepartement后,我想显示所有城市的这个部门和所有露营目前的情况。
目前我正在努力显示当前区域的具体部门。我认为region_id是解决方案,但我失去了......并没有工作! 那么如果你能帮助我?坦克:)
(诗读音字法语)
Table DEPARTEMENTS
CREATE TABLE "departements" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "description" text, "nomdep" varchar, "departement_id" integer, "slug" varchar, "region_id" integer, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
TABLE REGIONS
CREATE TABLE "regions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "descriptionregion" text, "nomderegion" text, "slug" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
的routes.rb
get 'departements' => 'departements#index'
get 'regions' => 'regions#index'
get 'regions/:region_id' => 'regions#detail'
Region.rb
class Region < ActiveRecord::Base
has_many :departements
has_many :villes
has_many :campings
end
Departement.rb
class Departement < ActiveRecord::Base
belongs_to :region
end
Regions_controller
class RegionsController < ApplicationController
def index
@regions = Region.all
end
def detail
#@departementids = Departement.all
#@departementids = Departement.find_by_region_id(13)
@departements = Departement.includes(:region)
end
end
Detail.html.erb
<% @departements.each do |departement| %>
<p><%= departement.region.id %></p>
<% end %>
// And all the tests...//
<%# for departement in @departementids %>
<p><%#= departement.description %></p>
<%#end%>
<%# @departement_ids.each do |region| %>
<li><%#= region.nom %></li>
<%# end %>
<%#@departement_ids.each do |departement| %>
<%#= departement.region_id %>
<%# end %>
<%# @departementsdet.each do |nomdep, regions_id| %>
<%#= @departementsdet.description %>
<%#end%>
<%#@departementsdet.each do |departement| %>
<%#= @departement.description %>
<%# end %>
那么什么是错?
感谢您的帮助:)
@nicolaswecandoit检查更新的答案。我错误地添加了一个新的答案。 –