我的这段代码用ruby写在铁轨上并且很苗条。在下面的代码中,我试图循环我的每一课,并显示它们。此外,每个课程都有一个问题按钮,它生成一个弹出框(引导模式),它接收问题输入,与该问题相关的lesson_id并将其保存到数据库中。此代码的问题是每个问题按钮仅需要第一课的lesson_id。无论我点击哪个课程的问题,它总是需要第一课的课程ID。现在,我认为这里的问题是bootstrap模式是javascript所以它在加载整个内容后加载,这就是我收到此错误的原因。但我不知道如何解决这个问题。请帮我解决这个问题。谢谢。
`-lessons.each do |lesson|
span.pull-right
a[data-open="exampleModal2"]
i.fa.fa-question[aria-hidden="true"]
#exampleModal2.reveal[data-reveal]
h1
center
| Ask question
= simple_form_for Question.new, url: lesson_questions_path(lesson.id), method: :post do |f|
= lesson.name
= f.input :title, label: "Question"
= f.input :content, label: "Question Description"
= f.button :submit
button.close-button aria-label=("Close modal") data-close="" type="button"
span aria-hidden="true" ×`
答案 0 :(得分:0)
您的问题是id
属性在每次迭代后都没有被更改,这使得多个元素共享相同的ID,从而导致破坏的Bootstrap模式和无效的HTML。
你应该改变这个:
#exampleModal2.reveal[data-reveal]
有这样的事情:
.reveal[data-reveal id=lesson.id]
不要忘记相应地更新a[data-open="exampleModal2"]
。我不记得Bootstrap如何打开模态,但是如果它是通过data-open
属性,则应该是它。