在rails app中禁用auto redirect_to

时间:2015-03-03 07:13:13

标签: ruby-on-rails ruby

我可以在rails上的ruby中禁用自动重定向,这是我的示例:在我的控制器中

class WelcomeController < ApplicationController
    def index
        @a = params[:link]
        if @a != nil
        Kernel.system("ls")
        redirect_to root_path
        else
        end
    end
   end

我不想重定向到root_path并保留在当前页面中,所以我删除redirect_to root_path,如下所示:

        def index
            @a = "abcd"
            if @a != nil
            Kernel.system("ls")
            else
            end
        end

但我的应用仍会自动重定向到root_path,我不知道如何解决这个问题,拜托!帮帮我:)。

我的路线:

 root 'welcome#index'
 match '/upload', to: 'welcome#index', via: 'post'

我的HTML:

<%= form_tag(upload_path, :id => "form_check") do %>
        <%= text_field_tag :link %>
        <%= submit_tag("Process")%>
        <%end%>

1 个答案:

答案 0 :(得分:2)

我认为您的问题并非真正自动重定向。你是#34;重定向&#34;到您的索引,因为此行不匹配:match '/upload', to: 'welcome#index', via: 'post'

您应该做的是分离索引和上传。它将更容易管理。

路线:

root 'welcome#index'
get 'form' => 'welcome#form', as: :form_path
post 'upload' => 'welcome#upload', as: :upload_path

表单页面:

<%= form_tag(upload_path, :id => "form_check") do %>
  <%= text_field_tag :link %>
  <%= submit_tag("Process")%>
<%end%>

然后,您可以在欢迎,称为表单和上传中创建新操作。最后一个将您重定向到/表单,这样您就可以再次看到您的表单。