Rails 4:使用JavaScript按钮更改表值

Rails 4:使用JavaScript按钮更改表值,javascript,ruby-on-rails,ruby,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby,Ruby On Rails 4,我想在rails 4脚手架中使用JavaScript。在我的表中,当我单击按钮javascript按钮时,它会更改该表列上的值。我的表有一个循环: <% @x.each do |y| %> <%= y.method %> <% end %> 从这个循环中,我将有: <button type="button" onclick="document.getElementById('t1').innerHTML = <%= y.method1 %&

我想在rails 4脚手架中使用JavaScript。在我的表中,当我单击按钮javascript按钮时,它会更改该表列上的值。我的表有一个循环:

<% @x.each do |y| %>
 <%= y.method %>
<% end %>
从这个循环中,我将有:

<button type="button"
  onclick="document.getElementById('t1').innerHTML = <%= y.method1 %>">
  Type 1.
</button>

<button type="button"
  onclick="document.getElementById('t1').innerHTML = <%= y.method2 %>">
  Type 2.
</button>

<button type="button"
  onclick="document.getElementById('t1').innerHTML = <%= y.method3 %>">
  Type 3.
</button>
在循环中,如上表所示:

<% @x.each do |y| %>
 <td id="t1"></td>
<% end %>

果然,我得到了未声明的方法y。但是如果我在javascript按钮周围放置循环,它会工作,但是…在表中只有一行的值发生了变化。正确的解决方法是什么?

我猜您忘了将innerHTML的值包装到:

onclick="document.getElementById('t1').innerHTML = \"<%= y.method3 %>\"">

另外,看起来您可能有超过1个id为t1的td,这是错误的。因此,请改用类,但在这种情况下,将innerHTML分配给类为someClass的所有元素的代码将大得多

很抱歉,甚至没有显示任何内容。包装什么也没做。我的问题是结果不会循环到其他项。