1
我在上導軌4在紅寶石的路由故障,並接收此錯誤:爲什麼我會在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 %>
</div>
</div>
我的控制器是:
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'
我的看法,控制器和模型被命名爲 「路」。
視圖或其他內容中的路由有問題嗎?
這是你唯一的路線嗎?我希望類似這樣的東西:'match'/ load_data',to:'routes#create',via:'post',as:'routes'' - 我在這裏猜測你的'form_for'標籤似乎期待('routes_path')。 – struthersneil
還有其他的路由,但沒有涉及'路由'控制器,實際上,這是我唯一的路由到該控制器 順便說一句,如果我把as:'路線'它顯示一個未定義的方法'load_data_path'錯誤 – nnn7867
好的。我希望你有兩條路線(至少) - 一個'get'路線指向'RoutesController :: new',它返回帶有空字段的表單的頁面,以及一個'post'路徑指向'RoutesController ::創建'接收完成表格的內容。 (這可能是GET/load_data和POST/load_data,即使URL的命名有點不直觀。) – struthersneil