【发布时间】:2013-12-11 17:44:31
【问题描述】:
我有客户模型和项目模型。我的客户 has_many :projects 和 Project belongs_to :client.
在客户端#show 视图中,当我可以选择现有项目(尚未分配客户端)并将其分配给该客户端时,我希望有一个表单。
我试过了:
= simple_form_for @client, url: assign_new_project_client_path do |f|
= f.input :project, collection: Project.without_client.map {|p| [p.name, p] }
= f.submit 'Add project'
我在客户端控制器中创建了新操作:
def assign_new_project
@client.projects << project
@client.save
end
不幸的是,simple_form_for 中的输入似乎只能接受客户端对象的实际属性。我遇到的错误说:
undefined method `project' for #<Client:0x0000000524a9f0>
我想将项目作为变量或参数之一传递给我的 assign_new_project 操作。如有任何提示,我将不胜感激。
【问题讨论】:
标签: ruby-on-rails ruby haml