Вот соответствующие действия контроллера:Phoenix App Перенаправление на другую страницу в производстве
def create(conn, %{"post" => post_params}) do
changeset = Post.changeset(%Post{}, post_params)
case Repo.insert(changeset) do
{:ok, _post} ->
conn
|> redirect(to: page_path(conn, :thanks))
{:error, changeset} ->
render(conn, "new.html", changeset: changeset)
end
end
В разработке - это действие перенаправляет пользователя на благодарственное страницу после создания поста. В производстве; однако он перенаправляет их на example.com/posts
вместо example.com/thanks
.
В производстве страница отображается следующим образом:
Почему это происходит и как я могу это исправить?
Заранее спасибо.
Что говорят журналы? –
Если вы перенаправлены на '/ posts', я подозреваю, что' Repo.insert' возвратил '{: error, changeset}' и, таким образом, ваш случай попал во второе предложение, которое не перенаправляет вас, а просто отображает снова создайте форму. Хотя, учитывая, что он также показывает 500, я думаю, что есть что-то еще, что не работает. – narrowtux
Покажите фрагмент вашего маршрутизатора, ': thanks' это, конечно, не маршрут REST - вы его специально добавили? – PatNowak