代码之家  ›  专栏  ›  技术社区  ›  Pasted

使用带有多对多链接表参数的复选框

  •  0
  • Pasted  · 技术社区  · 16 年前

    我有下列型号

    class Outbreak < ActiveRecord::Base
        has_many :risks
        has_many :factors, :through => :risks
    end
    
    class Risk < ActiveRecord::Base
        belongs_to :outbreak
        belongs_to :factor
    end
    
    class Factor < ActiveRecord::Base
        has_many :risks
        has_many :outbreaks, :through => :risks
    end
    
    Risk table
    id : integer
    outbreak_id : integer
    factor_id : integer
    details : text
    

    在视图/爆发/编辑中

       <div id="factor_div">
        <% for factor in Factor.find(:all, :conditions => {:outbreak_type => @outbreak.outbreak_type}) %>
            <div>
            <%= check_box_tag "outbreak[factor_ids][]", factor.id , @outbreak.factors.include?(factor) %>
            <%= factor.name %>
            <%= text_field_tag "risk[details][]", @outbreak.risks.each{ |risk| if risk.factor_id == factor.id; risk} %>
            </div>
    
        <% end %>
       </div>
    

    我正在尝试编辑“风险模型详细信息”属性(并从@explation.risks数组中填充正确的文本字段)。 是否可以使用迭代因子的方法(主要是静态变量的表,最终用户必须偶尔更改),然后检查每一次爆发。风险是否具有该因子,或者我只是走错了这条路?

    (真想不到——今天是星期五下午,阳光明媚……沿路有个啤酒园。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Shreyas    16 年前

    class Factor < ActiveRecord::Base
      has_many :risks
      has_many :outbreaks, :through => :risks
    end