在rails中设置小时跟踪器

时间:2013-06-10 01:11:58

标签: ruby-on-rails ruby ruby-on-rails-3

我有一个基于Devise cancan repo。

的应用程序

我想要添加的是用户选择一天的方式,记录当天的设定小时数,选择一个项目来平衡这些时间,然后说明他们做了什么。我怎样才能以最简单的方式做到这一点。可能还会使用任何有用的宝石。

1 个答案:

答案 0 :(得分:0)

以下是可能让您入门的实际代码和伪代码的混合:

从命令行创建计划和项目资源:

rails g resource log day:date duration:float description:string
rails g resource project title:string

LogUser关联,将ProjectLog关联:

# app/models/user.rb
class User < ActiveRecord::Base
    has_many :logs

# app/models/log.rb
class Log < ActiveRecord::Base
    belongs_to :user
    has_one :projects
end

# app/models/project.rb
class Project < ActiveRecord::Base
    belongs_to :log
end

这应该为您提供一般关联框架以便入门。然后,构建您的视图,以便用一个表单显示用户以创建日志。使用date_select DateHelper创建日期下拉列表。使用Project.all上的collection_select创建所有项目的下拉列表。然后,在你的控制器中,你应该能够做到这样的事情:

# app/controllers/projects_controller.rb
class ProjectsController < ActionController

    def create
        project = Product.new(params[:project])
        if project.save
            current_user << project
            ...
        else
            ...
        end
    end

end