В вашем файле маршрутов
resources :profiles do
resources :courses
end
Тогда вы можете просто использовать метод link_to
<%= link_to "Delete", profile_course_path(profile, course), :method => :delete %>
Убедитесь, что вы предоставляете правильные переменные profile
и course
Тогда в вашем courses_controller.rb вам нужно получить профиль.
before_filter :get_profile
def get_profile
@profile = Profile.find(params[:profile_id]) if params[:profile_id]
end
def destroy
@course = Corse.find(params[:id])
@course.destroy
redirect_to profile_courses_path(@profile)
end
Это вернет вас к правильному URL профиля с его вложенными курсами.
обновление
Для новых курсов вы можете воспользоваться следующей ссылкой:
<%= link_to "New Course", new_profile_course_path(profile) %>
Это приведет вас к действию new
в контроллере курсов.
Вы должны прочитать вложенные формы здесь .