jquery - 根据 Ruby on Rails 中的当前数据库记录更改元素内容

标签 jquery html css ruby-on-rails

请引用下图以了解外观。

我有一个名为 sauces 的 ruby​​ on rails 数据库。

sauces表中的字段如下:

  • 编号
  • 姓名
  • 描述
  • 图片

这是我的CSS:

#container{width:950px;height:800px;}
#title{this_is:irrelevant;}
#sauce_picture{bla bla}
#sauce_name{bla bla}
#sauce_splatter{background-image:url("someimage.png")}

HTML

<html>
 <body>
  <div id="container>
   <div id="title><h1>SAUCES</h1></div>
   <div id="sauce_picture><img src="somepic.png/></div>
   <div id="sauce_name><h2>Sauce 1</h2></div>
   <div id="sauce_splatter>
     <p>Sauce Description Goes Here</p> 
   </div>
  </div>
 </body>
</html>

好的,rails 数据库表有 6 条记录,每个字段都存在。我想要实现的是说页面已加载。我希望记录位于第一条记录,其中 <img src="somepic.png/> 的内容, <h2>Sauce 1</h2> , <p>Sauce Description Goes Here</p>都是从数据库表中检索的,因为计数从 1 开始。

我不知道如何做到这一点,以便在按下右箭头时,id 变为 2,并且上面的内容更改为记录号 2 (id=2) 中的内容。

最后,如果 id=1(即第一条记录,左箭头作为链接被禁用,而当最后一条记录存在时,右箭头变为禁用。 这将通过使用 JQuery 更改元素来实现,但我如何同时使用 Rails 和 Jquery。

这样,如果我将来在数据库表中添加新的调味料,我就不必更改任何代码,毕竟这就是 MCV 的全部意义。

谢谢

The image

最佳答案

一个可能的解决方案,只要您的 Sauces-Table 没有很多条目,就是交出一个像这样的数组

@sauces = Sauce.all

您的 View 可以默认呈现数组的一个条目,为了更新 div,您需要编写一些 JavaScript 来跟踪实际选择的条目,并使用新选择的酱料的属性更新 div。

对于更大的表格,您可以使用 AJAX 从后端检索选定的酱料,但您仍然需要通过 JavaScript 在异步调用结果上更新内容 div。

您还可以为每个酱汁条目呈现一个 div,并隐藏除要显示的实际一个之外的所有内容,按下按钮后,将显示带有所选酱汁的隐藏 div,另一个也将通过 JavaScript 设置为不可见

关于jquery - 根据 Ruby on Rails 中的当前数据库记录更改元素内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13128094/

相关文章:

javascript - 在jsp中打开模态窗口

javascript - jQuery 的移动导航问题

javascript - HTML5 日期验证

html - 使用CSS导航宽度和高度的基本问题

jQuery 报告错误的顶部/左侧位置

css - CSS3 动画会造成内存泄漏吗?

html - 居中对齐的特殊符号

javascript - 数据表 - 2 个不同的 json 源在一起

javascript - 检查 DOM 中是否存在现有 jQuery 对象(不是选择器)

javascript - JQuery 在 Wordpress 中打破特定的 div 标签