0

我有一个基于Devise cancan repo 的应用程序。

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

4

1 回答 1

0

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

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

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

LogUser和关联:Project_Log

# 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_selectDateHelper创建日期下拉列表。collection_select使用on创建所有项目的下拉列表Project.all。然后,在您的控制器中,您应该能够执行以下操作:

# 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
于 2013-06-10T01:48:10.640 回答