Rails 3.1一个表单上的多个对象

时间:2011-10-12 14:58:13

标签: ruby-on-rails ruby-on-rails-3.1

我已经检查了很多关于在一个表单上放置多个对象的问题,但它们似乎已经过时了。

我有很多用户对象:

  def index
    @users = User.all
    @user = current_user
  end

我需要在表单中进行编辑。他们都有角色,将在表格上进行编辑。表单是部分呈现的,没有任何显示,只是'admin form'明文。

users/_admin.html.erb
admin form
<% form_for "user[]", :url => users_path do |f| %>
<ul>
  <li class="layout">
    <div class="header"><h2>Users</h2></div>
    <table>
      <thead>
          ...
      </thead>
      <tbody>
        <% @users.each do |user| %>
          <% puts "USER #{user}" %>
            <tr>
              <td><%= f.check_box(:editor) %></td>
              <td><%= f.check_box(:admin) %></td>
              <td><%= user.first_name %> <%= user.last_name %></td>
              <td><%= user.email %></td>
            </tr>
        <% end %>
      </tbody>
    </table>
  </li>
</ul>
<%= submit_tag "Save"%>
<% end %>

只渲染纯文本,但没有形式。关于如何修复它的任何想法?我在这些帖子中尝试了这些建议:one two three,但它们已经过时了。

谢谢。

1 个答案:

答案 0 :(得分:3)

您需要在Rails 3.1中使用<%= .. %>

<%= form_for "user[]", :url => users_path do |f| %>