у меня есть кратные формы в окне редактирования, как вы можете увидеть ниже:Не удалось найти [модель] без ID - Рубин на рельсы
Посмотреть
[email protected] do |post|
.form
= simple_form_for post, url: update_posts_path do |f|
= f.input :title
= f.submit
Затем, когда я обновляю любой form Я получаю эту ошибку «Не удалось найти горшки без идентификатора». Вы можете видеть контроллер и файл здесь маршруты:
Контроллер
def update
@post = Posts.find(params[:id]) //If I change it for Posts.first then is working
if @post.update_attributes(params.require(:posts).permit(:title))
redirect_to ....
else
flash[:notice] = "Sorry."
render :edit
end
end
Маршруты Файл
resources :posts, :only => [:index, :edit, :update] do
get "edit", :on => :collection, :as => :edit
patch "update", :on => :collection, :as => :update
end
Я думаю, что ошибка в том, что по какой-то причине это (@post = Posts.find (params [: id])) возвращает объект nil, тогда контроллер не может его обновить. Может кто-нибудь дать мне руку?
Вы уверены, что о вашей модели будучи 'Posts' с' s' в конце? – mdemolin
Спасибо, это было и ошибка, теперь в единственном числе. – darkcode