如何在加载时显示表单

How to show a form on load

如何在加载时显示表单。现在我可以在单击按钮时看到表单字段(添加按键技能)。我希望所有功能都正常工作 together.On 加载我想查看表单并单击 'add key skill' 或 'remove key skill' 它应该添加和删除(现在点击添加或删除它正在工作,但是加载时看不到表格,只有单击 'add key skill' 我才能看到表格)

$(function()
{
    function check_to_hide_or_show_add_key_skill_link()
    {
        if ($('#key_skills .nested-fields:visible').length == 4) {
            $('#key_skills .links a').hide();
        } else {
            $('#key_skills .links a').show();
        }
    }

    $('#key_skills').on('cocoon:after-insert', function()
    {
        check_to_hide_or_show_add_key_skill_link();
    });

    $('#key_skills').on('cocoon:after-remove', function()
    {
        check_to_hide_or_show_add_key_skill_link();
    });

    check_to_hide_or_show_add_key_skill_link();
});

我的表单 关键技能*

<div id="key_skills">
  <%= f.simple_fields_for :key_skills do |key_skill| %>
    <div class="nested-fields">
      <div class="field">
        <%= f.input :name , input_html: { class: 'form-control keySkill', required: true }%>
          <%= f.input :relevant_experience, input_html: { class: 'form-control', required: true } %>
            <%= link_to_remove_association "Remove Skill", f %>
      </div>
    </div>
    <% end %>
      <div class="links">
        <%= link_to_add_association 'Add Key Skill', f, :key_skills, class: "links" %>
      </div>
</div>

这是我当前的输出。点击添加关键技能我会得到表格,但我想加载它)

由于你提供的信息不多,我不知道顶层元素的名称是什么,但我们假设它是一个 Job 并且一个工作有很多 key_skills.

在你的JobsController中有一个create方法,大致如下:

def create
  @job = Job.new 
end 

如果你想立即添加一个关键技能来填写你可以写

def create
  @job = Job.new 
  @job.key_skills.build 
end 

(会添加一个空的key-skill来填写)。

cocoon-repository 的相关问题:https://github.com/nathanvda/cocoon/issues/420