0

我有以下模型(用户、评论和期间)。我想要做的是在用户索引视图中有复选框,我可以在其中选择多个用户(或全部)并单击“创建评论”按钮,单击时它将:

  1. 检查选定的用户是否有评论记录,如果没有,则为所有选定的用户创建一条。
  2. 此外,这还将使用 period_id 为“1”更新评论记录

我不确定如何解决这个问题,非常感谢任何帮助。

先感谢您。

用户.rb

class User < ActiveRecord::Base
  belongs_to :admin
  has_many :reviews
  has_many :periods, :through => :reviews

  devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable

  attr_accessible :email, :password, :password_confirmation, :remember_me,
                  :username, :first_name, :last_name, :role
end

评论.rb

class Review < ActiveRecord::Base
  belongs_to :user
  belongs_to :period

  attr_accessible :employee_comments, :employee_final_comments, :manager_comments, :period_id, :rating, :review_status, :user_id
end

周期.rb

class Period < ActiveRecord::Base
  belongs_to :admin
  has_many :reviews
  has_many :users, :through => :reviews

  attr_accessible :admin_id, :end_date, :period_name, :start_date, :active
end

更新 1

我已将以下几行添加到我的 index.html.erb 中(基于 railscast http://railscasts.com/episodes/165-edit-multiple),但得到一个空白列表。如果我删除 form_tag 行,我可以看到带有复选框的用户列表。

应用程序/视图/用户/index.html.erb

<% form_tag create_multiple_users_path do %>
  .
  .
  .
  <th><%= check_box_tag "users_ids[]", user.id %></th>
<% end %>
  .
  .
  .
<%= submit_tag "Create Reviews for selected users" %>

路线.rb

resources :users do
  collection do
    post 'create_multiple'
  end
end
4

1 回答 1

1

要使用您应该更改的表单获取用户列表

<% form_tag create_multiple_users_path do %>

为了

 <%= form_tag create_multiple_users_path do %>
于 2013-01-28T19:43:41.750 回答