gpt4 book ai didi

ruby-on-rails - Ruby on Rails 4 中的路由

转载 作者:太空宇宙 更新时间:2023-11-03 17:53:25 25 4
gpt4 key购买 nike

美好的一天,我在 Ruby on Rails 4 中遇到了路由问题

错误:

undefined method `routes_path'

查看:

<h1>Load data</h1>                                
<div class="row">
<div class="span6 offset3">
`<%= form_for @route, :html => { :multipart => true } do %>
<%= hidden_field_tag 'current_user', @current_user %>
<%= file_field_tag :file %>
<%= submit_tag "Import", style: 'margin-top: -10px', class: "btn btn-primary" %>
<% end %>

Controller :

def new
@route = current_user.build_route
end

def create
nil_flag = Route.import(params[:file], current_user)
if nil_flag == 1
flash[:success] = "Data created."
redirect_to route_path(current_user)
else
flash[:error] = "Error"
redirect_to load_data_path
end
end

型号:

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

路线

match '/load_data', to: 'routes#new', via: 'get'

View 、 Controller 和模型被命名为“Route”

是 View 中的路由有问题还是其他?谢谢

最佳答案

仅作为第一印象,无需详细研究 - 您可能无法将路由用作类名,它已经是 ActionDispatch 下的类名了.

不过,我觉得你的问题其实是你的路线:

match '/load_data', to: 'routes#new', via: 'get'

这不是资源路由,它不会生成允许您使用表单标记语法的功能 <%= form_for @route...

将路由定义为资源:

resources :routes

或者在你的表单中定义一个 url:

<%= form_for @route, :url => some_url, :html => { :multipart => true } do %>  

关于ruby-on-rails - Ruby on Rails 4 中的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19539467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com