Rails после проверки Сохранить Перейти к редактированию пути - PullRequest
1 голос
/ 20 июня 2010

Мне кажется, это довольно простая проблема, но у меня были некоторые проблемы.

В одном из моих представлений я использую что-то вроде

<% if current_page?(:controller => "activities", :action => "new") %>
        *Do something here*
<% end %>

и он делает что-то конкретное на новой странице формы. Достаточно просто и отлично работает.

К сожалению, я обнаружил, что когда у вас есть форма "новая активность" (предположим, обычный контроллер скаффолдинга), URL будет идти с

http://localhost:3000/activities/new

после отправки склонной к ошибкам формы на

http://localhost:3000/activities

, но все равно будет отображаться новая форма активности с соответствующими ошибками. Таким образом, в основном все работает, как предполагается, за исключением того, что мне нужно, чтобы URL был http://localhost:3000/activities/new для current_page? функция, чтобы признать, что это действительно новая страница формы.

Мне интересно, есть ли какая-то работа вокруг этой проблемы. Спасибо!

ОН, а вот код контроллера, на случай, если кто-то должен его увидеть

Код контроллера

      def new
        @activity = Activity.new
      end

      def create
         @activity = Activity.new(params[:activity])
         if @activity.save
            flash[:notice] = "Successfully created activity."
            redirect_to @activity
          else
             render :action => 'new'
          end
       end

Ответы [ 2 ]

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

Думаю, вам нужно будет проверить, как создать, так и новый

<% if current_page?(:controller => "activities", :action => "new") or current_page?(:controller => "activities", :action => "create") %>

не так красиво, может быть, обернуть это вспомогательным методом?

0 голосов
/ 20 июня 2010

Вы также можете проверить, является ли созданное в поле пустым.Поскольку это не будет установлено, пока деятельность не создана.

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