javascript - 如何通过 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 这样的错误。也尝试了不同的,但没有显示旧值。
解决方案
您不能动态插入 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吗?
推荐阅读
- vb.net - 试图在文本文件中找到最大数量(vb)
- c# - 如何测试具有私有返回类型的私有方法?
- android - 使用 Kotlin 从 Fragment 实例化 ViewModel
- arrays - 快速,我如何检查数组中的任何元素是否作为字典中的键存在,然后返回这些键的值?
- android - 在 ViewPager 中保存当前显示的 Fragment 的状态
- mysql - MySQL:在具有主键的表和没有唯一列的表之间创建外键
- java - 在 Mono 中未调用终端映射操作
- c# - 限制用户在 DevExpress 的 TextEdit 中输入少于 5 个字符
- vbscript - 按下按钮时返回值的输入框
- apache - 具有别名和代理匹配的 Apache