簡體   English   中英

RESTful form_for通過連接表具有嵌套資源

[英]RESTful form_for with nested resources via join table

我正在嘗試構建一個應用程序,其中有一個“作業”模型可以與“標記”模型相關聯,在該模型中使用聯接表來跟蹤關聯。 我想找到可以在表單中使用基於資源的form_for add復選框,以允許用戶選擇與該作業關聯的標簽的可能性。 標簽列表是由管理員設置的,因此它們不是在創建新標簽,而是在創建關聯。 而且我不知道該怎么做。 大多數示例使用博客場景,其中文章有很多評論,並且它們正在創建新評論,並且與我嘗試執行的操作有很大不同。

楷模:

class Job < ActiveRecord::Base
    has_and_belongs_to_many :tags, :join_table => 'j_map_tags', :class_name => 'Tag', :foreign_key => 'job_id', :association_foreign_key => 'tag_id'
end

class Tag < ActiveRecord::Base
    has_and_belongs_to_many :jobs, :join_table => 'j_map_tags', :class_name => 'Job'
end

class JMapTag < ActiveRecord::Base
    belongs_to :job
    belongs_to :tag
end

聯接表遷移:

class CreateJMapTags < ActiveRecord::Migration
    def self.up
        create_table :j_map_tags, :id => false do |t|
            t.column    :job_id,    :integer
            t.column    :tag_id,    :integer
        end
    end

    def self.down
        drop_table :j_map_tags
    end
end

路線:

resources :jobs, :module => 'manager', :constraints => lambda { |request| request.xhr? } do
    resources :tags
end

ERB:

<%= form_for [Job.new], :remote => true do |form| %>
    ...
    <% form.label  ???????? %>
    <% form.check_box  ???????? %>
    ...
<% end %>

甚至可以通過基於資源的form_for實現嗎? 我還找不到任何涉及這種資源關系的示例。

我認為這就是您所需要的: HABTM復選框

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM