1
我的领地模型在轨道创建子记录3
class Territory < ActiveRecord::Base
attr_accessible :name, :publisher
has_many :addresses, :dependent => :destroy
validates :name, :presence => true, :uniqueness => true
end
我的地址模型
class Address < ActiveRecord::Base
attr_accessible :name, :street, :district, :note
belongs_to :territory
end
我有创造的领土和表现出烧灼境内景色的形式。
我已经添加了一个表单,用于将地址添加到领土显示视图。
这是我的地址控制器
class AddressesController < ApplicationController
def new
@address = Address.new
end
def create
@address = territory.addresses.build(params[:address])
if @address.save
flash[:success] = "Address saved!"
redirect_to '/territories'
else
redirect_to '/territories'
end
end
end
看起来,我不能让当前的领土ID的保持,因此不能将地址连接到境内。我怎样才能做到这一点?
另外,保存后,我想再次显示当前视图,即区域显示视图。没有说明如何做到这一点重定向...
我的路线
TerritoryManagement::Application.routes.draw do
resources :addresses
resources :territories
end
感谢 托马斯
我已经改变了我的routes.rb到TerritoryManagement :: Application.routes.draw做 资源:境内做 资源:地址 结束 结束 但是现在它说,它看起来/地址并不能找到它。从您指出的指南我明白,这将添加所有的下游路线。我完全不知道我错过了什么。 – Thomas
在我的地区列表中我有一个链接来显示特定地区<%= link_to'显示',territory_address_path(@territory,@address)%>当我打电话给列表,然后我得到没有路线匹配{:controller = >“addresses”,:action =>“show”}对不起,我只是不明白。 – Thomas
@Thomas:我真的会*推荐阅读入门指南的例子,并与此相关。这应该给你足够的基本理解,以将它翻译成你想在这里做的事情。它基本上是一样的,但名称不同。 –