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
也[此處](http://stackoverflow.com/questions/16297797/add-custom-field-column-to-devise-with-rails-4) – 2015-02-25 01:32:06
結束了去STI和HStore仍然在研究如何讓所有的工作都能正常工作。 – ncrmro 2015-03-15 21:35:30