我有一个基于Devise cancan repo 的应用程序。
我想添加的是一种让用户选择一天的方式,记录当天的固定小时数,选择一个项目来绑定这些时间,然后说出他们做了什么。我怎样才能以最简单的方式做到这一点。也可能使用任何有用的宝石。
我有一个基于Devise cancan repo 的应用程序。
我想添加的是一种让用户选择一天的方式,记录当天的固定小时数,选择一个项目来绑定这些时间,然后说出他们做了什么。我怎样才能以最简单的方式做到这一点。也可能使用任何有用的宝石。
以下是可能让您入门的实际代码和伪代码的混合:
从命令行创建计划和项目资源:
rails g resource log day:date duration:float description:string
rails g resource project title:string
Log
与User
和关联: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_select
DateHelper创建日期下拉列表。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