У меня есть несколько моделей:
- Пользователь
- Отношение
- Проект
Расписание
Экземпляр
user
может быть типа:student
или:employer
.- А
schedule
belongs_to
иproject
и - a
project
has_one
schedule
project
belongs_to
иstudent
иstudent
has_many
projects
.Связь принадлежит студенту, а связь также принадлежит работодателю. Работодатель и студент имеют отношения has_many.
Я пишу контроллер для создания расписания и не могу понять, как сообщить контроллеру, к какому проекту относится расписание. Вот что у меня есть на данный момент
def create
if current_user.type == 'Employer'
redirect_to employer_profile_path(current_user.profile_name)
else
@schedule = Schedule.find(params[:id])
if @schedule.save(schedule_params)
flash[:notice] = "Successfully created schedule."
redirect_to profile_path(current_user.profile_name) #change to project path later
else
render :action => 'new', :notice => 'Invalid Schedule'
end
end
end
private
def schedule_params
params.require(:schedule).permit(tasks_attributes: [:title, :content, :_destroy])
end
Я почти уверен, что неправильно определяю @schedule. Маршруты по расписанию:
resources :schedules
Как сообщить контроллеру, к какому проекту относится расписание?