2012-04-24 32 views
0

我有以下模型(用户,审阅和期间)。我想这样做是为了在用户索引视图复选框,在那里我可以选择多个用户(或全部),而当点击,它会在哪里点击“创建评论”按钮:复选框选择多个记录并创建新的关联记录(如果不存在)

  1. 检查是否选定的用户有一个审查记录,如果没有创建一个所有选定的用户。
  2. 另外这也将与“1”

的period_id更新审查记录我不知道如何去这个问题的任何帮助深表感谢。

预先感谢您。

user.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 

review.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 

period.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

我已经添加了FOLL欠我的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" %> 

的routes.rb

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

回答

1

要使用的形式获得用户的列表,你应该改变

<% form_tag create_multiple_users_path do %> 

for

<%= form_tag create_multiple_users_path do %> 
相关问题