Ruby on rails RubyonRails4中的路由
你好,我在RubyonRails4中遇到了路由问题 错误:Ruby on rails RubyonRails4中的路由,ruby-on-rails,ruby,ruby-on-rails-3,web,routes,Ruby On Rails,Ruby,Ruby On Rails 3,Web,Routes,你好,我在RubyonRails4中遇到了路由问题 错误: undefined method `routes_path' 视图: 型号: def self.import(file, current_user) @user = current_user @route = @user.build_route @nil_flag = 0 File.open(file.path, 'r') do |f| . . . #etc end 路线 通过“获
undefined method `routes_path'
视图:
型号:
def self.import(file, current_user)
@user = current_user
@route = @user.build_route
@nil_flag = 0
File.open(file.path, 'r') do |f|
.
.
.
#etc
end
路线
通过“获取”将“/load_data”匹配到“routes#new”
视图、控制器和模型被命名为“路由”
视图中的路线有问题还是其他问题?谢谢你这只是第一印象,没有详细研究它-你可能在使用routes作为类名时遇到问题,它已经是
ActionDispatch
下的类名了
然而,我认为你的问题实际上是你的路线:
match '/load_data', to: 'routes#new', via: 'get'
这不是资源路由,它不会生成允许您使用表单标记语法{:multipart=>true}do%>
作为第一印象,如果不仔细研究,您可能会在使用routes作为类名时遇到问题,它已经是ActionDispatch
下的类名
然而,我认为你的问题实际上是你的路线:
match '/load_data', to: 'routes#new', via: 'get'
这不是资源路由,它不会生成允许您使用表单标记语法{:multipart=>true}do%>
马特(前一位答案作者)基本上回答了这个问题,只是想注意,您还可以将as
选项附加到路线上,为路线命名:
通过“获取”将“/load_data”匹配到“routes#new”,作为“routes”
这将为您“定义”路由路径。Matt(前一个答案作者)基本上回答了这个问题,只是想注意,您还可以将as
选项附加到您的路由中,为其命名:
通过“获取”将“/load_data”匹配到“routes#new”,作为“routes”
这将为您“定义”路由路径。这意味着我们不能在某些操作中使用路由,这将调用具有给定操作的核心类?在路由文件本身中可以看到许多路由控制示例。您可以为
Route
s集合定义特定的路由,也可以定义成员方法路由,关键是您的项目中有一个名为Route
的ActiveRecord资源,如果您使用正确的路由以rails方式做事,您将有一个更轻松的时间。阅读有助于解释我所说的。@fahadIdrees看到我上面的评论,以及Vlad的回答。这意味着我们不能在某些操作中使用routes,这将调用具有给定操作的core类。routes文件本身中有很多对routes的控制示例。您可以为Route
s集合定义特定的路由,也可以定义成员方法路由,关键是您的项目中有一个名为Route
的ActiveRecord资源,如果您使用正确的路由以rails方式做事,您将有一个更轻松的时间。读一读有助于解释我所说的。@fahadIdrees看到了我上面的评论,也看到了Vlad的回答。这不是一个理想的解决方案,它是一个懒惰的解决方案。无意冒犯,但这只会使问题更加复杂,特别是因为该方法仍然是一个get
!没错,我完全同意这不是一个理想的解决方案,这是一个懒惰的解决方案。无意冒犯,但这只会使问题更加复杂,特别是因为该方法仍然是一个get
!没错,我完全同意这一点
match '/load_data', to: 'routes#new', via: 'get'
resources :routes
<%= form_for @route, :url => some_url, :html => { :multipart => true } do %>