首页 > 解决方案 > 如何通过 Jquery 添加 rails html 标签?

问题描述

我正在尝试使用 jquery 添加 rails html 代码,但没有用。我尝试过的代码:

   <% @user.each do |record| %>    
      <tr>
       <td>
         <%=  record.name %> 
       </td>
       <td>
         <%= record.gender %>
       </td>
      <%= record.dob %>
       </td>
    </tr>
  <% end %>
 <button id="edit_button" class="btn btn-primary btn-sm edit" onclick="editRow();">更新</button>
  

  function editrow(){
     var $item = $('.edit').closest("tr").find(".nr");
         var name = "<%= text_field 'name', class: 'form-control' %>"
         $item[0].innerHTML= name;
   } 

但它没有给出像 name is undefined method 这样的错误。也尝试了不同的,但没有显示旧值。

标签: javascriptjqueryruby-on-railsruby-on-rails-5

解决方案


您不能动态插入 ERB 标签。渲染 ERB 的顺序是这样的:

Rails reads ERB and renders HTML+assets -> 
HTML+assets get returned to your browser -> 
Your browser renders HTML and executes JavaScript

您的浏览器无法读取 ERB :(

你能告诉我们更多关于你试图用“editrow”功能做什么,并向我们展示更多的ERB吗?


推荐阅读