繁体   English   中英

非绑定形式的Coccon宝石嵌套属性

Coccon Gem Nested Attributes for non binding form

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有模特活动

class Activity < ApplicationRecord
  accepts_nested_attributes_for :activity_documents, reject_if: proc { |attributes| attributes[:document].blank? && attributes[:document_title].blank? }, allow_destroy: true
end

另一种模式

class ActivityDocument < ApplicationRecord
  mount_uploader :document, DocumentUploader
  belongs_to :activity
end

带动作活动的控制者购买

class PurchaseController < ApplicationController
  def activity
    @activity     = Activity.find_by_id(params[:id])
    @activity.activity_documents.build
  end
end

ERB activity.html.erb

  <%= simple_form_for @activity, :url => take_activity_path, :method => :post , html: { class: "exercise-form"} do |f| %>

  <!-- nested attributes start -->
  <section class="show-section">
    <div class="row">
      <div class="col l12"><h4>Documents</h4></div>
      <div class="col s12">
       <%= f.simple_fields_for :activity_documents do |builder| %>
        <% render 'activity_document_fields', f: builder %>
       <% end #f.simple_fields_for%>
         <div class="links">
          <%= link_to_add_association 'Add Documents', f, :activity_documents, class: "btn mb-2" %>
        </div>
      </div>
    </div>
  </section>

<% end %>

_activity_document_fields.html.erb

<div class="nested-fields">
    <div class="row">
        <div class="col l12">
            <%= f.input :document_title %>
            <%= f.hidden_field :user_id, :value => current_user.id  %>  
            <%= f.hidden_field :user_type, :value => current_user.role  %>
        </div>
        <div class="col l8">
            <%= f.input :document %>
        </div>
        <div class="col l1 mt-3">
            <%= link_to_remove_association "delete", f, class: "material-icons teal-text text-lighten-1" %>
        </div>
    </div>
</div>

现在,可以从两个不同的位置上载与此文档相关的activity_documents。 创建活动本身或从PurchaseController活动中创建。

我需要通过活动创建上载的文档不可通过活动的PurchaseController操作进行编辑/删除,因为将有两种不同类型的文档,并且将由两种不同类型的用户上载。

另一种选择是仅允许上传新文档,而不允许编辑先前的文档。

1 个回复

这个答案似乎解决了我的问题。

我们进行了以下更改:

<section class="show-section">
  <div class="row">
    <div class="col l12"><h4>Documents</h4></div>
    <div class="col s12">
      <%= f.simple_fields_for :activity_documents do |builder| %>
        <% render 'activity_document_fields', f: builder %>
      <% end #f.simple_fields_for%>
      <div class="links">
       <%= link_to_add_association 'Add Documents', f, :activity_documents, class: "btn mb-2" %>
      </div>
    </div>
  </div>
</section>

  <section class="show-section">
    <div class="row">
      <div class="col l12"><h4>Documents</h4></div>
      <div class="col s12">
       <%= f.simple_fields_for :activity_documents, @activity.activity_documents.build do |builder| %>
        <% render 'activity_document_fields', f: builder %>
       <% end #f.simple_fields_for%>
         <div class="links">
          <%= link_to_add_association 'Add Documents', f, :activity_documents, class: "btn mb-2" %>
        </div>
      </div>
    </div>
  </section>
1 Clojure Let绑定形式

我试图了解关于地图的让绑定如何在封闭状态下工作。 根据我的理解,let之后是一个向量,其中第一项是我要绑定的符号,然后是我想将其绑定到的值。 所以 的值为1。 所以如果我声明地图如 而且我想绑定密钥firstName,那么这将是简单的“ Hello Person”的正确 ...

2014-05-03 06:17:56 2 361   clojure
2 弹簧绑定形式

我试图将多重选择绑定到我的对象。 表单已创建且帖子有效,当我不选择任何内容时,不会发生任何错误。 如果我选择一种语言,则该对象会获得语言值,但是表格会中断。 &lt;@ spring.formMultiSelect“ advancedSearch.languages”,语言,“” / ...

3 为coccon宝石增加限制

我有一个secondaryparents表,我想将添加按钮限制为1个secondaryparents。 我尝试添加限制:1,但不起作用。 有什么办法可以做到这一点? ...

4 更改绑定形式的值

我有一个绑定的django表单,但我最终要更改一个整数字段。 绑定后但渲染之前,如何访问和更改表单中字段的值。 我试过了: 但是我不明白如何正确访问IntegerField值。...有什么建议吗? ...

5 Spring列表绑定形式

我正在尝试使用Spring将自定义对象的列表/ arraylist / hashmap / etc绑定到JSP中的表单。 现在,控制器在referenceData()创建两个列表(布尔列表和自定义对象列表)的Map,并将其提供给使用这些值填充字段的表单。 这些值是使用Hibernate从My ...

6 Django未绑定和绑定形式

我正在创建一项服务,人们可以在其中创建包括称为炉石传说的视频游戏套牌的指南。 第一个必须选择他们的英雄: 当选择它时,我将使用平台和指南表单渲染模板。 现在,当我使用此设置时: 视图 形成 我看到此表单是未绑定的,并且当我想在保存视图中使用它时无效 现在 ...

7 角度2绑定形式到一个对象

通过导航到http:// servername / some-form / 1,我打开一个表单并从ID为1的服务获取数据集。此数据集是一个javascript对象。 编辑: 现在使用formbuilder而不是双向bindung到对象内的属性有什么区别/优点/缺点? 例: ...

8 Play Framework 2.4绑定形式错误

我在请求表单绑定时遇到问题。 我有代表系统用户的Account类和该用户所属的Group类。 帐户类别 团体课 我想将新用户插入数据库。 HTML表单包含Account类和带有所有组的组合框的所有字段。 我该怎么做? 在带有组的html表单div中 现在我正 ...

9 访问绑定形式的写错误

所有, 我有一个MS Access 2013应用程序。 它使用表单充当Oracle(Oracle数据库11g企业版11.2.0.3.0版-64位生产)数据库的前端。 目标是能够更新所有活动的文本框(textbox.enabled = true)。 Oracle后端数据库中 ...

10 Mootool绑定形式无法清除

我是Mootools的新手,这是问题所在:URL: http : //dev.office-directory.partyapm.com/office-search当我在页面右侧提交搜索时选择一些“便利设施”并单击“列表属性”按钮。 无法通过“清除”按钮清除“便利设施”。 即使页面刷新,这些 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM