2015-02-24 38 views
0

我正在創建一個市場。我有由設計處理的用戶帳戶。我想添加額外的用戶屬性。如帳單和送貨地址(以及大多數情況下都需要處理的主要地址)。設計添加用戶送貨地址

設計使用默認設置進行配置。我用this tool在用戶文件夾下的我的應用程序控制器文件夾中生成了設計控制器。因爲我發現很多人試圖從不同的控制器/視圖渲染表單。

我產生user_address

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 

而且還增加了主地址ID給我的用戶配置文件供以後使用。

class AddPrimraryAddressIdToUsers < ActiveRecord::Migration 
    def change 
    add_column :users, :primary_address_id, :integer 
    end 
end 

現在我基本上要這個user_address _form.html.erb融入我的色器件的用戶。

./app/views/user_addresses/_form.html.erb

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

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

這在編輯和創建錯誤頁。

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> 

我的理解是因爲user_address不在設計用戶控制器中。我將如何將user_address創建的所有內容集成到設計視圖和控制器中以清理目錄。或者簡單地呈現user_address表單。

謝謝nic

回答

0

Useraddresses前進有更多的功能嗎?或者是向用戶類添加屬性的唯一功能。如果是這樣,那麼結帳後here

+0

也[此處](http://stackoverflow.com/questions/16297797/add-custom-field-column-to-devise-with-rails-4) – 2015-02-25 01:32:06

+0

結束了去STI和HStore仍然在研究如何讓所有的工作都能正常工作。 – ncrmro 2015-03-15 21:35:30

相關問題