【问题标题】:Hour logging rails application小时记录轨道应用程序
【发布时间】:2013-06-11 20:27:05
【问题描述】:

我有一个基于 Devise cancan bootstrap 存储库的 Rails 应用程序。

我拥有它,它具有所有登录和帐户功能,因此我拥有管理员(更改帐户权限)、经理(批准员工工时并制定项目)和员工(记录工时并查看当前正在进行的项目。 )

我想做的是为员工创建一个页面来记录小时数。我已经建立了一个脚手架,它会在该脚手架上生成一个带有表单的视图,但我的问题是如何从导航链接到该页面,以及如何使这些记录时间与该特定员工相关联.

我的脚手架是

rails g scaffold hours email:string day:date hours:integer

【问题讨论】:

  • 展示您为赶上时代而制作的脚手架结构。
  • 我添加了它,拥有它会很好,所以不必输入您的电子邮件,它会自动使用您登录时使用的电子邮件,这是我不确定的一部分跨度>

标签: ruby-on-rails ruby devise cancan


【解决方案1】:

假设您在模型中声明了 belongs_tohas_many 关系,并且 hours 模型包含 user_id 外键(migration 中的 t.references :users),并且该关系来自user to hours 被称为hours,那么你会使用非常接近这个的东西:

current_user.hours.create(params)

它以current_user 开头并遍历assocoiation,这会导致在您调用create 时将user_id 设置在User 记录中。 current_user 是 Devise 认为已登录的任何人访问 User 对象的 Devise 方法。

【讨论】:

  • 我对 Rails 和这些库真的很陌生,老实说,我不明白其中一半是什么,你能再扩展一点吗?
  • 我可以。第一个让你挂掉的部分是什么?
  • 如果我的用户帐户已启动并正在运行,是否已经设置了 belongs_to 和 has_many 关系?
  • 不,您在模型中定义这些关系。
  • class Role < ActiveRecord::Base has_and_belongs_to_many :users, :join_table => :users_roles belongs_to :resource, :polymorphic => true scopify end
猜你喜欢
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
  • 2016-10-15
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多