Rails 和 JQuery-将 DB 数据加载到文本字段中以进行保存和删除

Posted

技术标签:

【中文标题】Rails 和 JQuery-将 DB 数据加载到文本字段中以进行保存和删除【英文标题】:Rails and JQuery-Load DB data into Textfields for save and delete 【发布时间】:2020-09-19 08:54:06 【问题描述】:

我在数据库中有以下数据。我的要求-我在 dropdwon Get 和 Set 中有两个选项。如果我从下拉列表中选择 Set 选项,则需要在表中动态创建文本字段和复选框,其中数据库 ParaName、Datatype、Values 的值如下。用户可以通过选择复选框来编辑和删除记录。我是 ruby​​ on rails 的新手。可以有人帮忙,如何实现这个?

UI 设计如下图所示

 ParaName DataType  Value

Textfield1 Textfield2 Textfield3  
TestData1   String     test      Checkbox
TestData2   boolean    true      Checkbox
TestData3   int        3         Checkbox

Button   Button
Save     Delete

数据库

ParaName|DataType|Value
TestData1|String  |test
TestData2|boolean |true 
TestData3|int     |3

谢谢, 苏巴

【问题讨论】:

【参考方案1】:

get/set 下拉菜单可以使用 data-remote 属性通过控制器触发 javascript,就像 [name of controller method].html.erb 中的这样

<%= select_tag :type, options_for_select([ "Get", "Set" ]), include_blank: true, data:  remote: true, url: '/same_path'  %>
<div id="fields"></div>

在控制器中

respond_to :html, :js

[控制器方法名称].js.erb 文件

$('#fields').html("<%= j render partial: 'fields' %>");

_fields.html.erb 中根据需要渲染字段。您可以使用params[:type] 获取在get/set 下拉列表中选择的类型。如果您需要在控制器中加载数据库对象以在任何部分中使用,您可以这样做

respond_to do |format|
  @types = Model.all
  format.html 
    # perform logic here for the html view
  
  format.js 
    # perform logic here for the javascript view
  
end

【讨论】:

以上是关于Rails 和 JQuery-将 DB 数据加载到文本字段中以进行保存和删除的主要内容,如果未能解决你的问题,请参考以下文章

将 excel、openoffice 和 ms office 2007 数据导入到 rails 中的 db

如何使用 rails 和 jquery 优化 ajax 搜索

从 jquery 将数据发布到 rails 控制器不起作用

Ruby on Rails - Javascript/jQuery 到 Haml

如何将状态保存为 db 中的代码,但将它们映射到 rails 中有意义的单词?

Rails 没有在 ajax 帖子上重新加载会话