Ruby on rails 设计添加用户发送地址

Ruby on rails 设计添加用户发送地址,ruby-on-rails,ruby,devise,shipping,marketplace,Ruby On Rails,Ruby,Devise,Shipping,Marketplace,我正在创建一个市场。我有Desive处理的用户帐户。我想添加额外的用户属性。例如账单和发货地址(以及在大多数情况下兼顾这两方面的主地址) 使用默认设置配置设备。我曾在“用户”文件夹下的“应用程序控制器”文件夹中生成“设计控制器”。我发现很多帖子都有人试图从不同的控制器/视图呈现表单 我生成了用户地址 class CreateUserAddresses < ActiveRecord::Migration def change create_table :user_addresses

我正在创建一个市场。我有Desive处理的用户帐户。我想添加额外的用户属性。例如账单和发货地址(以及在大多数情况下兼顾这两方面的主地址)

使用默认设置配置设备。我曾在“用户”文件夹下的“应用程序控制器”文件夹中生成“设计控制器”。我发现很多帖子都有人试图从不同的控制器/视图呈现表单

我生成了用户地址

class CreateUserAddresses < ActiveRecord::Migration
  def change
  create_table :user_addresses do |t|
    t.string :address
    t.string :city
    t.string :state
    t.integer :user_id

    t.timestamps null: false
  end
 end
end
class CreateUserAddresses
还向我的用户配置文件中添加了一个主地址id,以便以后使用

class AddPrimraryAddressIdToUsers < ActiveRecord::Migration
  def change
    add_column :users, :primary_address_id, :integer
  end
end
class addprimaryaddressidtousers
现在我基本上想把这个用户地址form.html.erb集成到我的Desive用户中

./app/views/user\u addresses/\u form.html.erb

./app/views/design/registrations/edit.html.erb

<div>
<% if current_user.primary_address_id.blank? %>
   Please create a primary address
      <%= render :partial => '/user_addresses/form'%>
<% end %>
</div>

请创建主地址
“/user\u地址/表格”%>
这会在编辑页面上创建错误

First argument in form cannot contain nil or be empty

<%= form_for(@user_address) do |f| %>
  <% if @user_address.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@user_address.errors.count, "error") %> prohibited this user_address from being saved:</h2>

  <ul>
表单中的第一个参数不能包含nil或为空
禁止保存此用户\u地址:
我的理解是因为用户地址不在Desive用户控制器中。如何将用户地址创建的所有内容集成到designe视图和控制器中,以清理目录。或者简单地呈现用户地址表单


谢谢nic

未来的用户地址还有更多功能吗?或是向用户类添加属性的唯一功能。如果是这样的话,那么查看帖子

也会导致STI和HStore仍在研究如何让一切正常运行,谢谢。