【问题标题】:Auto Populating the first instance of a nested form field in Ruby on Rails自动填充 Ruby on Rails 中嵌套表单字段的第一个实例
【发布时间】:2017-12-02 23:23:36
【问题描述】:

使用 Ruby 2.3.3 和 Rails 5.1.4

我有一个供用户填写的表单,它使用嵌套表单字段 Gem 允许用户添加动态数量的组成员。我希望在加载表单时已经填写第一个实例并填充为 current_user.email

这是我的班级群

class Group < ApplicationRecord
  has_many :teammates, dependent: :destroy
  accepts_nested_attributes_for :teammates, allow_destroy: true
end

这是我的表格

<%= form_with(model: group, local: true) do |form| %>
<div class="form-group row">
  <%= form.nested_fields_for :teammates do |member| %>
      <div align="right" class="col-md-3">
       <label>Group Member: </label>
      </div>
      <div class="col-md-6">
        <%= member.text_field :email, placeholder: 'email', class: 'input' %>
        <%= member.remove_nested_fields_link %> <br />
      </div>
  <%end %>
  <%= form.add_nested_fields_link :teammates, '+ Add a Group Member', id: 'addGroupMember' %>
</div>

【问题讨论】:

    标签: ruby ruby-on-rails-5 nested-forms


    【解决方案1】:

    通常是这样的

    class GroupsController
      def edit
        @group.teammates.build(email: current_user.email)
      end
    end
    

    你只构建了一个队友对象,它还没有被保存。但是表单能够看到并相应地呈现自己就足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多