rails 3 button_to: remote => true, как должно выглядеть действие контроллера - PullRequest
0 голосов
/ 18 января 2012

как должно выглядеть действие контроллера для button_to с: remote => true.

Я новичок в Ajax Reqs, поэтому я не знаю, что я делаю. насколько я понимаю,: remote => true устанавливает его как запрос ajax.

<%= button_to "Generate Code", add_code_band_path(@band), :method => :post, :remote => true %>

Мое текущее действие:

  def add_code
      @band = Band.find(params[:id])
      if user_signed_in?
        @code = current_user.codes.build(params[:code])

        respond_to do |format|
        if @code.save
            format.html { redirect_to @band, notice: 'Reward was successfully created.' }
            format.json { render json: @band, status: :created, location: @band }
          else
            format.html { render action: "show" }
            format.json { render json: @band.errors, status: :unprocessable_entity }
          end
        end
      else
        redirect_to @band, :alert => "Your Not Logged In! You must be logged in to create a code"
      end
    end

Ответы [ 2 ]

8 голосов
/ 18 января 2012

Вы не можете использовать redirect_to для вызовов Ajax. Вы должны сделать что-то подобное для перенаправления (при использовании ajax):

render :js => "window.location = 'path_to_redirect_to'"

Если проблема не устранена, попробуйте включить format.js в свой ответ на блокировку.

0 голосов
/ 18 января 2012

Если страница просто обновляется, как вы упоминали, убедитесь, что вы включили и правильно ссылаетесь на ненавязчивый адаптер сценариев для jQuery (если вы используете jQuery, который есть.)

https://github.com/rails/jquery-ujs

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