Перенаправление в Rails - PullRequest
0 голосов
/ 15 июня 2010

У меня небольшой вопрос по поводу рельсов. У меня есть контроллер поиска, который ищет имя в базе данных, если найдены, показывает детали о нем или я перенаправляю на новую страницу имени. Есть ли в любом случае после перенаправления искомое имя автоматически появиться на новой странице формы?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 15 июня 2010

Ну, скажем, вы сохраняете это имя, введенное пользователем, в переменную с именем @ name.
Итак, на контроллере, который выполняет действие поиска, вы сделали что-то вроде:

if @name
  ...#action if the name was found
else
  session[:name] = @name
  ...#here is the action you did to redirect

В объявлении вызванного метода (вы сказали, что это «новый»):

def new
  @name = session[:name] if session[:name]  #I don't know exactly if the condition is this one, 
                                             #but you have to confirm that the session was instatiated
  session.delete(:name) #to don't let garbage
  ...#continuous the action of show the new page
     #and on the page you have access to a variable @name, that have the name searched before.
2 голосов
/ 15 июня 2010

Вы можете использовать ActionController :: Flash для передачи данных между действиями.

def search(searchedName)
  # perform search on DB

  flash[:searchedName] = searchedName

  redirect_to new_name
end

def new_name
end

new_name.html.erb:

<% if flash[:searchedName] %>
  <%= text_field_tag flash[:searchedName] %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...