Я по-прежнему новичок в Ruby on Rails, и в настоящее время у меня проблема с маршрутизацией и перенаправлением.Перенаправление и маршрутизация Ruby on Rails
У меня есть два контроллера «кандидат» и «опрос». Я в настоящее время просмотра «canidate/editEmail.html»
http://www.otoplusvn.com/TherapistSurvey/candidates/editEmail/2
После нажатия кнопки отправить щелкают, метод кандидата для обновления электронной почты выполняется:
def updateEmail
@candidate = Candidate.find(params[:id])
respond_to do |format|
if @candidate.update_attributes(params[:candidate])
flash[:notice] = 'Candidate email was successfully updated.'
format.html { redirect_to :controller => "survey", :action => "end" }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @candidate.errors, :status => :unprocessable_entity }
end
end
end
Этот код будет обновлять Письмо кандидата в базу данных и перенаправить его. Я хочу перенаправить его на html-страницу с именем end.html.erb, которая находится под представлением/Survey/end.html.erb. Тем не менее, с настоящим кодексом, это даст мне
Unknown action
No action responded to show. Actions: download and lastPage
где скачать и Lastpage являются единственными методами в контроллере Survey. «end» - это не метод, определенный в файле survey_controller.rb, но я предположил, что он автоматически перейдет к end.html.erb, находящемуся под просмотром/опросом
На моей локальной машине я могу получить это для работы с этим обновленным кодом:
format.html { redirect_to :controller => "survey/end" }
Но это не работает на сайте, на котором я загрузил рубин на железнодорожном приложении. В любом случае, я думаю, что, возможно, есть более простой способ сделать это, и я делаю это неправильно.
Я думаю, что он должен иметь дело с файлом route.rb или разрешением, о котором я не знаю, когда вы переносите локальный рубин на рельсовое приложение на хост.
Обычно я бы думать, что если бы я пошел прямо в файл
http://www.otoplusvn.com/TherapistSurvey/survey/end
я бы смог увидеть страницу, как я был в состоянии на моей локальной машине, но я не в состоянии с что я принимал.
В общем, я просто хочу, чтобы иметь возможность перенаправлять (перескакивать) на другую страницу html, указывая, что обновление электронной почты было выполнено правильно и что опрос окончен. Все это вызвано нажатием кнопки отправки, результатом которой является обновление базы данных, называемой перенаправлением на другую страницу. Проблема заключается в том, как правильно выполнить перенаправление.
КСТАТИ: в моем routes.rb у меня есть
map.resources :survey
Любые консультации Оценил. Благодаря! D
Я добавил его, но до сих пор вижу неизвестное действие. Я сделал рейк-маршруты, чтобы показать вам пути. PUT /candidates/:id(.:format) {: controller => "кандидаты",: action => "update"} DELETE /candidates/:id(.:format) {: controller => "кандидаты" ,: action => "destroy"} end_survey GET /survey/end(.format) {: controller => "survey",: action => "end"} – darewreck
действительно означает, что «конец» должен быть определен как или иметь его как end.html.erb достаточно для просмотра/просмотра? – darewreck
Я также обновил «конец» до «lastPage», поэтому он не путается с ключевым словом end, назовите otoplusvn.com/TherapistSurvey/candidates/editEmail/2, и вы получите страницу otoplusvn.com/TherapistSurvey/survey/lastPage - – darewreck