2011-10-17 160 views
1

在我的Rails3中的应用我有两个控制器叶leave_request和相应的models.Their迁移是:在其他模型视图中显示一个模型数据?

叶表:

class CreateLeaves < ActiveRecord::Migration 
     def self.up 
     create_table :leaves do |t| 
      t.integer :user_id 
      t.integer :company_id 
      t.string :leave_type 
      t.integer :allowed_leaves 
      t.text :description, :limit => 500 

      t.timestamps 
     end 
     end 

     def self.down 
     drop_table :leaves 
     end 
    end 

leave_requests表:

class CreateLeaveRequests < ActiveRecord::Migration 
    def self.up 
    create_table :leave_requests do |t| 
     t.integer :employee_id 
     t.integer :leave_type 
     t.date :from_date 
     t.date :to_date 
     t.text :reason_for_leave 
     t.string :contact_during_leave, :limit => 10 
     t.integer :leave_balance 
     t.integer :user_id 
     t.integer :company_id 

     t.timestamps 
    end 
    end 

    def self.down 
    drop_table :leave_requests 
    end 
end 

,并考虑:

<!-- Right column/section --> 
    <aside class="column width2" > 
     <p ><a href="/leave_requests" class="btn btn-special btn-green"><img SRC="images/add.png" class="icon" alt=""/>View All Requests </a></p>&nbsp; 
     <div class = "zebra-sriped"> 
        <table width="300"> 
         <tr> 
          <th colspan="1">Leave</th> 
              <th colspan="1">Balance</th> 
         </tr> 
        <tbody> 
         <tr> 
              <th><%= Leave.find(@leave.leave_type).leave_type %>></th> 
              <th> <%= Leave.find(@leave.leave_type).allowed_leaves %></th>  
        </tr> 
          </tbody> 
       </table> 
       </div>     

    </aside> 
    <!-- End of Right column/section --> 

我创建了几个lea ve类型例如:年度,休假,付费,未付等etc. allowed_leaves的数量也手动保存。现在我想在用户创建请假时显示leave_types(只读)和allowed_leaves(只读)的数量,并且在最后验证允许的假期,即用户不能请求超过允许的假期。 在此先感谢

回答

0

如果这两个模型之间存在关联,那么您应该在模型中声明它。

例如,如果每个假期有许多LeaveRequests那么你会做到以下几点:

# app/models/leave.rb 
class Leave < ActiveRecord::Base 
    has_many :leave_requests 
end 

# app/models/leaverequest.rb 
class LeaveRequest < ActiveRecord::Base 
    belongs_to :leave 
end 

然后,你可以通过Leave.new.leave_requests从任何地方访问leave_requests或通过LeaveRequest.new从任何地方离开。离开。

+0

嗨,鲁珀特再次感谢。但是这并没有解决我的查询问题。我只想在leave_request表单中显示leave_types和相对允许的一天离开模型。 – Ravindra

相关问题