我有两个型号的地址模型
class Address < ActiveRecord::Base
attr_accessible :address1, :address2, :country, :county, :customer_id, :town
belongs_to :customer
end
和客户模型
class Customer < ActiveRecord::Base
attr_accessible :email, :firstname, :lastname, :password, :phone
has_one :address
end
我有使用脚手架生成的CRUD功能。我想要做的是当我添加新客户时,我可以从文件中的地址为客户选择地址或选择无地址。我可以使用此功能查看客户及其地址。
def showaddress
@customer = Customer.find(params[:id])
@address = @customer.address
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @customer }
end
end
这是我用来创建新客户的当前控制器
def new
@customer = Customer.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @customer }
end
end
所以基本上我想要做的是当我创建一个新客户时,有一个地址下拉列表,用户可以点击该地址将该地址与客户关联
答案 0 :(得分:0)
您可以在控制器中的 new 方法中初始化所有地址的变量,并在视图页面中使用该变量来填充表单中的选择框。
def new
@customer = Customer.new
@addresses = Address.all
#...
end
或直接填写表格中的地址,如下所示
select_tag 'address_id', options_for_select(Address.all.collect{ |a| [a.name, a.id] })
答案 1 :(得分:0)
试试这个,
<%= select_tag :address_id, Customer.all.collect {|p| [ p.address_title, p.id ] } %>