项目有用户。用户有费用。
我有一个屏幕供当前登录的用户添加新费用,我的控制器根据 current_user 强制使用用户密钥。
现在我需要允许用户在一个特定项目中工作,并一次输入他们对该项目的费用,基本上是“输入”一个项目费用屏幕,以限制他们在该屏幕上显示的项目的费用范围选择。
(类似于 basecamp 让您选择您从事的项目的方式)
我确实想将此视图用于其他事情,并希望使其尽可能干燥。
只是想知道,让用户选择一个项目,然后通过他们使用我现有的费用屏幕来坚持这个选择的正确方法是什么。
编辑- 我希望能够选择一个项目,然后让费用页面上的所有功能将该项目传递给控制器方法。
所以我最终可能会得到 /project/45/expenses .... 等
谢谢!
class Project < ActiveRecord::Base
attr_accessible :name, :active
has_many :expenses, foreign_key: :project_id
end
class Expense < ActiveRecord::Base
attr_accessible :amount, :expense_date, :project_id, :expense_type_id, :user_id
belongs_to :project
belongs_to :user
belongs_to :expense_type
has_one :expense_approval
end
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :name, :email, :password, :password_confirmation, :remember_me
has_many :expenses, foreign_key: :user_id
end