Я использую драгоценный камень Best_in_Place, чтобы сделать области на моем сайте доступными для редактирования. У меня есть две модели: ученик и образование, при этом отношения между учениками имеют множество образований. У меня есть функция Best_in_place, работающая при редактировании атрибутов, которые находятся непосредственно в модели Student, например,
<%=best_in_place @student, :name =>
Тем не менее, я не могу заставить его обновить атрибуты образования .. такой строкой, как
<%=best_in_place @education, :college =>
по мнению студентов / шоу,
Я получаю ошибку
Запущен PUT "/ education" для 127.0.0.1 в 2012-03-25 13:06:57 -0400
ActionController :: RoutingError (Маршрут не соответствует [PUT] "/ educations")
и это не только не работает, редактируемое место полностью исчезает. Я не могу понять, что является причиной проблемы, все кажется одинаковым для обеих моделей / контроллеров. Мои маршруты очень просты:
resources :students
resources :educations
root :to => 'pages#home'
devise_for :students
как и мои контроллеры:
def update
@student = Student.find(params[:id])
respond_to do |format|
if @student.update_attributes(params[:student])
format.html { redirect_to @student, notice: 'Student was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @student.errors, status: :unprocessable_entity }
end
end
end
против
def update
@education = Education.find(params[:id])
respond_to do |format|
if @education.update_attributes(params[:education])
format.html { redirect_to @education, notice: 'Education was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @education.errors, status: :unprocessable_entity }
end
end
end
Если я разгребаю маршруты, я получаю:
educations GET /educations(.:format) educations#index
POST /educations(.:format) educations#create
new_education GET /educations/new(.:format) educations#new
edit_education GET /educations/:id/edit(.:format) educations#edit
education GET /educations/:id(.:format) educations#show
PUT /educations/:id(.:format) educations#update
DELETE /educations/:id(.:format) educations#destroy
students GET /students(.:format) students#index
POST /students(.:format) students#create
new_student GET /students/new(.:format) students#new
edit_student GET /students/:id/edit(.:format) students#edit
student GET /students/:id(.:format) students#show
PUT /students/:id(.:format) students#update
DELETE /students/:id(.:format) students#destroy
Любые указатели очень помогли бы.