现在,我正处于实际构建项目管理应用程序的中间位置,而且我很喜欢我应该构建这个表单的方式。在添加项目时,我想选择将包含在项目中的客户端。以下是一些感兴趣的代码:
项目模型 项目迁移 客户模型 客户迁移 Clients_Projects迁移表
到目前为止构建Controller / View的最佳方法是什么,我有这个视图,但我不知道,应该对控制器采取什么 - >
答案 0 :(得分:6)
我会使用嵌套属性。查看Ryan Bates的railscast http://railscasts.com/episodes/196-nested-model-form-part-1和http://railscasts.com/episodes/197-nested-model-form-part-2。
您可以使用此方法为项目添加和删除客户端。使用复选框列表选择客户端可能会对大量客户端造成问题。
答案 1 :(得分:2)
在你的控制器中,你必须向.permit
表明id列表是一个数组:
def client_params
params[:client].permit(
:name,
:address,
:phone,
{:project_ids => []}
),
end
然后 Rails魔术将起作用。