使用軌道:使用collection_check_boxes在每個類別
<%= collection_check_boxes(:employee, :skill_ids, Skill.all, :id, :name) %>
對自己的作品只是在我的項目精細
。這樣,每個員工都會顯示所有技能以及是否進行了檢查。除此之外,我還有一些與技能相關的類別(類別有很多技能)。
任何人都可以推薦一個正確的方法,爲每個類別正確使用collection_check_boxes,以便只顯示與該類別相關的技能? 我想我只是錯過了「Skill.all」參數的正確限制。
最後它應該看起來像這樣,而不是提交按鈕(通過使用jquery-ujs,method:put),我希望這些技能是複選框。
EDIT1:技能和分類模型
class Category < ApplicationRecord
has_many :subcategories, class_name: "Category", foreign_key: "parent_id"
belongs_to :topcategory, class_name: "Category"
has_many :skills
end
class Skill < ApplicationRecord
has_many :employeeskillsets, foreign_key: "skill_id"
has_many :employees, through: :employeeskillsets
has_many :projectskillsets
has_many :projects, through: :projectskillsets
has_many :tagsets, dependent: :destroy
has_many :tags, through: :tagsets
belongs_to :category
end
EDIT2:仍然沒有任何進展。有沒有人有一個想法如何做到這一點?
SOLUTION:
好了,該解決方案是非常簡單的。我只需要在每個類別上聲明集合,這些集合已經用於該應用程序的先前版本。 <%= collection_check_boxes:employee,:skill_ids,category.skills,:id,:name%>(category.skills是爲每個類別的實例設置的)。
感謝您的幫助。
這就是我已經檢查過。沒有跡象表明(至少我沒有看到),如何使用/更改「Author.all」到一個更小的範圍集合,所以類別(在我的情況下)只顯示相關技能。 – Fast
您是否嘗試用'Category.skills'替換'Skill.all'? –
是的,我做了,但似乎沒有工作。未定義的方法「技能」 – Fast