Проблемы с перенаправлением Rails - PullRequest
1 голос
/ 16 сентября 2011

Я установил несколько простых ассоциаций в моем приложении rails:

resources :properties do
 resources :units
end

После обновления юнита:

'локальный: 3000 / свойства / 2 / ЕД / 3 / изменить'

Я хочу, чтобы меня перенаправили обратно в соответствующее место.

после того, как я нажму «Обновить», я перенаправлюсь обратно на:

'localhost: 3000 / unit / 3', но следует перейти к 'localhost: 3000 / properties / 2 / units / 3 /'

В моем контроллере единиц измерения:

if @unit.update_attributes(params[:unit])
    format.html { redirect_to(property_units_path(@property, @unit), :notice => 'Unit was successfully updated.') }
    format.xml  { head :ok }
  else
    format.html { render :action => "edit" }
    format.xml  { render :xml => @unit.errors, :status => :unprocessable_entity }
  end

Это правильное использование в моей функции redirect_to? Я все еще пытаюсь ознакомиться с тем, как работают маршруты, но я чувствую, что это должно работать?

Спасибо!

1 Ответ

0 голосов
/ 26 июня 2012

Вы почти у цели.Вы должны перенаправить на:

format.html { redirect_to(property_unit_path(@property, @unit), :notice => 'Unit was successfully updated.') }

Обратите внимание, что вы должны использовать единственную версию вспомогательного метода маршрутизации, чтобы это работало.Для более подробной информации обратитесь к направляющей рельсов на маршрутизации .

...