не найдено ни одного маршрута - PullRequest
0 голосов
/ 17 августа 2011

ЗДЕСЬ МОЙ new.html.erb ФАЙЛ НИЖЕ

<%= form_for(:subject, :url => {:action => 'create'}) do |f| %>

Я просто хочу вставить запись в свою базу данных.

Вот мой файл subjectcontroller.rb ниже

end

Вот мой файл route.rb ниже

get "subjects/create"

Когда я запускаю localhost: 3000 / subject / new, он работает отлично. И затем я пытаюсь вставить значение через текстовые поля, и когда я нажимаю кнопку «Создать тему» ​​в моей форме, это не дает мне никаких соответствий маршрута. Пожалуйста, решите мою проблему как можно скорее, иначе у меня большие проблемы

Ответы [ 2 ]

3 голосов
/ 17 августа 2011

Вы определили маршрут, который отвечает на HTTP GET. Отправляя форму, вы отправляете HTTP POST. Это источник вашего текущего сообщения об ошибке.

Прежде чем паниковать, уделите несколько минут, чтобы прочитать это Руководство по Rails по маршрутизации. Я думаю, что это поможет уточнить, как поступить.

0 голосов
/ 24 сентября 2013

Вы должны добавить предметы к маршрутам в качестве ресурсов.

AppName::Application.routes.draw do 
 resources :subjects
 root :to => "demo#index"
 get ':controller(/:action(/:id(.:format)))'
end

Ваш контроллер должен быть таким

def create
 @subject = Subject.new(subject_params)
 if @subject.save
   redirect_to(:action => 'list')
 else
   render('new')
 end
end

private
def subject_params
  params.require(:subject).permit(:id, :name, :position, :visible)
end

Он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...