我想創建一個表單,允許我的用戶創建一個商店,在軌中與他們關聯。商店創建不保存到數據庫
我有一個has_many和belongs_to關聯到位,但似乎無法讓商店甚至保存到數據庫以查看關聯是否正常工作。
目前的形式在我的商店#新的觀點,我有:
<%= form_for @store do |f| %>
<div class = "field">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<%= f.submit "Submit" %>
<% end %>
和我的新創造的行動在我的商店控制器我有以下
def new
@store = Store.new
end
def create
@user = current_user
@store = @user.stores.new(params[:stores])
if @store.save
redirect_to store_path
else
render newstore_path
end
end
我的型號是絕對是單一的(商店)。
這在過去對我有用,所以我很困惑爲什麼現在不是。
如果有人能告訴我使用嵌套資源成功關聯兩個模型的絕對最簡單的方法,然後創建一個可以維持這種關聯的表單,這將會非常有用,因爲過去幾天我一直在爲此付出努力,認爲一個堅實的例子會有幫助。
儘管人們可以提供的任何信息都很好。感謝提前:)
嘿Pjammer,感謝您的回答,不幸的是我仍然無法將它保存到數據庫中。它根本不會拋出任何錯誤,只是不會保存到我的商店表中 - 你知道爲什麼這可能嗎? –
當你使用bang方法'create!'時,它會保存到數據庫或錯誤中。通常這是唯一的兩種選擇。如果你可以粘貼你創建'User.first.stores.create!'的控制檯,那不是我不相信你,而是... – pjammer
嘿Pjammer,我剛剛給你提出了'User.first.stores的想法。創建!',並愉快地將商店行添加到商店表中,包括user_id。然後我在我的視圖中嘗試同樣的東西,雖然'current_user.stores.create!(params [:stores])'並且它不起作用 - 是params元素是錯誤的嗎?再次感謝您的幫助:) –