Из вашей ассоциации Project
принадлежит Client
, который принадлежит User
. Возможно, вы захотите заняться редизайном.
Но если вы хотите сохранить текущий дизайн, вы можете исправить эту ошибку несколькими способами
@client = Client.find params[:client]
@project = @user.project.build params[:project], :client_id => @client.id
OR
@project = @user.clients.find(params[:client]).projects.build(params[:project])
В любом случае, у пользователя нет проектов. У них есть клиенты, у которых, в свою очередь, есть проекты. Возможно, вы захотите сделать модель Project
моделью соединения. В этом случае ...
# user.rb
has_many :clients, :through => :projects
# client.rb
has_many :users, :through => :projects
# project.rb
belongs_to :clients
belongs_to :users