繁体   English   中英

Rails:路由错误

[英]Rails: Routing error

我的show.html.erb文件中有一个button_to标记。

  <%= link_to 'Click HERE to open file', @user.image.url  %><br/><br/><br/>
<%= label_tag(:q, "Parse CSV File:") %><br/>
<%= button_to 'Parse CSV', {:controller => "users_controller", :action => "process" } %>
  <% end %>

然后将其添加到我的users_controller.rb文件中

# GET /users/1/process
def process
 puts 'To be Implemented'
end

我在路由文件中收到错误

No route matches [POST] "/assets"

这是我的路由文件的外观:

resources :users

resources :listings

我应该改变什么。 我有点困惑,非常感谢您的帮助。

1)在视图中,使用控制器名称,例如'users',而不是'users_controller'。

<%= button_to 'Parse CSV', {:controller => "users", :action => "process" } %>

2)默认情况下,rails定义的路径很少,但是对于其他路径,您需要自己定义。 声明路线,例如:

  resources :users do
    :member => {
     :process => :get
    }
  end

希望对您有所帮助。

请更正您的路线并定义如下

<%= button_to 'Parse CSV', {:controller => "users", :action => "process" } %>

然后在路由文件中

    resources :users do
      collection do
         get: process
     end
    end

它一定会工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM