2015-03-19 2 views
0

company.rbкак использовать form_for создать вложенную rescource в рельсах 4

class Company < ActiveRecord::Base 
    has_many :jobs, dependent: :destroy 
end 

job.rb

class Job < ActiveRecord::Base 
    belongs_to :company 
end 

routes.rb

resources :companies do 
    resources :jobs 
end 

Я хочу использовать form_for для создания новой работы, поэтому я делаю это:

<%= form_for(@company_job do |f| %> 
... 
<% end %> 

или

<%= form_for(:company_job, url: company_jobs_path do |f| %> 
... 
<% end %> 

но оба из них получают сообщение об ошибке:

Routing Error 
No route matches [POST] "/jobs" 

как я могу отправить форму /company_jobs_path (url like this /companys/:company_id/jobs(.:format))

Спасибо за ваш ответ!

ответ

0

вид:

form_for @company do |f| 
    # company fields go here 
    f.fields_for :jobs do |f2| 
    # job fields go here 
    end 
end 

модель:

class Company < ActiveRecord::Base 
    has_many :jobs, dependent: :destroy 
    accepts_nested_attributes_for :jobs 
end 
+0

спасибо за вашу помощь. Я получаю следующий ответ следующим образом: '<% = form_for ([@ company, @ company.jobs.build]) do | f | %> 'Я стараюсь, и успех. – tardis

Смежные вопросы