0
我被卡住了,獲取form_for以使用具有多對多關係的命名空間資源,我需要在表單中引用它。form_for具有多對多關係的名稱空間資源
關係是延伸影響許多身體部位和身體部位可以有很多延伸。
這裏的資源:
namespace :admin do
resources :stretches, only: [:new, :create, :edit, :update, :destroy]
resources :body_areas, only: [:new, :create]
end
這裏的的form_for:
<%= form_for [:admin, @stretch, @body_area] do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :body_area_id %>
<%= f.collection_select :body_area_id, BodyArea.all, :id, :name, prompt: 'Select a Body Area' %>
<%= f.submit %>
<% end %>
而且我的控制器:
def new
@stretch = Stretch.new
@body_area = BodyArea.all
end
我得到的錯誤是:
ActionView::Template::Error:
undefined method `to_key' for #<ActiveRecord::Relation [#<BodyArea id: 1, name: "Legs 1">]>
有沒有人有任何建議可以幫助我?在此先感謝您的時間!
嗯......我不想嘗試新的BodyArea。我想引用身體區域的列表來選擇這個拉伸屬於哪一個。當我不在form_for的參數中包含@body_area時,我的表單在下拉菜單中不知道我在說什麼。 –
@KristenSqueeMueller它知道,因爲''body_rea.all'爲'collection_select'。你可以刪除'@body_area = BodyArea.new',因爲它沒用 – Pavan