ошибка grails: запрошенный ресурс недоступен - PullRequest
0 голосов
/ 03 августа 2011

Можете ли вы сказать мне, почему я получаю сообщение об ошибке недоступности ресурса HTTP Status 404 при добавлении нового действия в мой контроллер следующим тривиальным способом:

  • Сначала я добавил оператор println"в действии списка", к действию списка, которое сгенерировал Grails, чтобы убедиться, что я вижу обновления файла, сделанные для контроллера.Этот println затем выходит на консоль.
  • Я добавил новое действие «abc» в контроллере, непосредственно копируя его код из действия index, то есть заставляя его просто перенаправить на действие списка.

Когда я ввожу адрес браузера: http://localhost:8080/myApp/user/abc, он возвращает ресурс, недоступный.Перезапуск грааля не помог.Если я введу http://localhost:8080/myApp/user/index,, он будет работать, как и ожидалось.

Спасибо

Ответы [ 3 ]

2 голосов
/ 04 августа 2011

Я только что проверил это, используя Grails 1.3.7.Вы можете безопасно завершить действие контроллера с помощью redirect(action: "index"), и оно не выдаст ошибку.

Я предполагаю, что вы сделали это:

def index = { [foo: "bar"] }
def abc = { [foo: "bar"] }

В этом случае вы 'Мне нужно выделенное представление для index и abc.

Если вы вместо этого сделаете это:

def abc = { redirect(action: "index") }

Вы будете перенаправлены правильно.

1 голос
/ 03 августа 2011

Вы создали представление, чтобы согласиться с вашим действием? Обычно у вас есть Grails-приложение / просмотров / пользователь / abc.gsp

Если у вас нет представления, вы получите ошибку 404, так как ваш контроллер попытается направить ваш браузер на страницу, которая не существует.

0 голосов
/ 05 августа 2011

Извлеченный урок: если вы получаете такое поведение, убедитесь, что у вас нет неправильного синтаксиса кода в другом действии.


Я разрешил эту странную ситуацию (во всяком случае, в некоторой степени!)Оказывается, мне не хватало закрывающей скобки в моем топе / первом действии, но во втором действии была дополнительная закрывающая скобка.Не знаю, как это могло скомпилироваться, но, очевидно, так оно и было, поскольку, когда я добавил образцы новых тестовых действий дальше, они в конце концов сработали (что казалось странным).Когда я исправил проблему с круглыми скобками, второе действие сработало, а затем

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

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