0
仍然學習rails,並且一直困在這裏一段時間,我感覺這是一個簡單的修復,我只是沒有得到它。有很多嵌套的表格不能保存到數據庫
我想使用一個單獨的模型來填充另一個模型的窗體中的下拉列表。所以是一個嵌套的表單。這是在鍛鍊中完成的活動類型。
這是我設置的。
鍛鍊模型
class Workout < ActiveRecord::Base
belongs_to :user
has_many :activities
accepts_nested_attributes_for :activities
validates :activity, presence: true
end
鍛鍊控制器PARAMS
def workout_params
params.require(:workout).permit(:rating, :activity, :workout_date, :activity_id, activity_params:[:id, :title])
end
活動模型
class Activity < ActiveRecord::Base
belongs_to :workout
end
活動控制器PARAMS
def activity_params
params.require(:activities).permit(:title, :rating, workout_params:[:id])
end
查看
<%= form_for(@workout) do |f| %>
<div class="control-group">
<%= f. label :activity, class: 'control-label' %>
</div>
<div class="checkbox">
<%= collection_select(:activity, :workout_id, Activity.all, :id, :title, {},
{:multiple => false }) %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
在此先感謝
您是否在表單中爲activity =>'activities'嘗試了複數形式。檢查此https://stackoverflow.com/questions/22284668/rails-4-nested-attribute-in-a-form-not-saving?rq=1 – zishe
是的。這沒有用。選項在那裏,但它不能保存。我更新了代碼以反映這一點。感謝您的回答 –
試圖在提交表單時創建新的鍛鍊。這項活動是空白的。 –