Я все еще новичок в 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
, где download и lastPage - единственные методы в контроллере Survey.«end» не является методом, определенным в survey_controller.rb, но я предположил, что он автоматически перейдет к файлу end.html.erb, расположенному в views / survey
На моей локальной машине я могузаставить это работать с этим обновленным кодом:
format.html { redirect_to :controller => "survey/end" }
Но это не работает на сайте, на котором я загрузил приложение ruby on rail.В любом случае, я думаю, что, вероятно, есть более простой способ сделать это, и я делаю это неправильно.
Я думаю, что это связано с файлом route.rb или разрешением, о котором я не знаю, когдаВы портируете локальное приложение ruby on rail на хост.
Обычно я думал бы, что если бы я пошел непосредственно к файлу
http://www.otoplusvn.com/TherapistSurvey/survey/end
, я мог бы видеть страницу, как я мог на моей локальной машине,но я не могу с тем, что я размещал.
В общем, я просто хочу иметь возможность перенаправить (перейти) на другую HTML-страницу, указывающую, что обновление электронной почты было сделано правильно и что опроснад.Все это запускается нажатием кнопки отправки, в результате чего обновление базы данных называется перенаправлением на другую страницу.Проблема заключается в том, как правильно выполнить перенаправление.
Кстати: в моем route.rb у меня есть
map.resources :survey
Любой совет оценен.Спасибо!D