Ruby on Rails-创建时部分不渲染链接

时间:2018-11-08 14:15:57

标签: javascript ruby-on-rails ruby ruby-on-rails-5

伙计们,我正在学习Rails并遇到一个有趣的问题

我有这部分。

_access_point.html.erb

<div class="card">
  <div class="card-body">
    <div class="card-title">
      <h3 class="text-center"><%= link_to_unless_current access_point.model.upcase, [access_point] %><%= link_to [:edit, access_point], remote: true, class: 'float-right' do fa_icon 'edit lg' end %></h3>
    </div>
    <div class="card-text">
      <p><strong>Manufacturer: </strong><%= access_point.manufacturer %></p>
      <p><strong>Serial number: </strong><%= access_point.serial_number %></p>
      <p><strong>USER: </strong><%= access_point.user %></p>
      <p><strong>PASSWORD: </strong><%= access_point.password %></p>
    </div>
  </div>
</div>

create.js.erb

$('#access-points-cards').append('<%= j render partial: 'access_point', locals: { access_point: @access_point }, layout: 'layouts/col-md-4' %>')
$('#new-access-point').modal('hide')

,而我使用的是模态形式,带有remote:true来创建它,插入EDIT按钮后,不会在浏览器中显示,但是在开发工具中显示,如果我按F5键,则表示一切正常,不知道这是turbolinks问题还是类似的问题。

你能帮我吗?

1 个答案:

答案 0 :(得分:1)

您的问题应该是未在DOM中正确更新视图。 因此,请不要尝试以下操作:

  • 始终在页面上呈现access_point视图
  • 将您的部分内容隐藏为:

    access_point.html.erb <div class="card hidden"> some_css_file hidden { display: none }

  • 在js调用上显示部分 create.js.erb

    $('.card').show() $('#new-access-point').modal('hide')

  • 确定在何处放置$('.card').hide()