2012-04-24 33 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 %> 
相關問題