我正在構建一個有用戶的Rails應用程序,並且用戶具有技能,而且這些技能有許多屬於用戶且具有單一技能的「skillsections」。每個技能部分都有一個文本名稱值。基於多列的Rails獨特屬性模型視圖還是控制器?
我希望能夠強制skillsection名稱值是唯一的只有如果它屬於相同的用戶和相同的技能。因此,如果一個用戶具有「管理者」的技能,我希望他們能夠爲管理者提供一個「填充」技能部分,但只有一次......並且還允許他們擁有第二個技能「紙質洗牌」以及在這裏填充的技巧部分。爲了做到這一點,我需要用戶不可能爲同一用戶和技能組合創建一個重複的技能部分名稱。
所以,我的問題是:根據MVC(通過遷移或在model.rb中的數據庫約束,或者當用戶提交表單時)來實現此目的的適當位置在哪裏?一旦確定了,什麼是方法?
irb(main):028:0> section = SkillSection.new
=> #<SkillSection id: nil, user_id: nil, skill_id: nil, name: nil, copy: nil, rank: nil, created_at: nil, updated_at: nil>
謝謝Van Huy,這是一個非常準確和完整的答案。 – Jeremy