NameError uninitialized constant WorkoutLog
尝试访问控制器上的非资源操作时,我得到一个。
我的控制器如下所示:
class WorkoutLogController < ApplicationController
def index
# random code
end
def on_date
# random code
end
end
我的路线文件:
match "workout_log/:date", :controller => "workout_log", :action => "on_date", :as => "log_on_date"
match "workout_log", :controller => 'workout_log', :action => 'index'
然后我有一个我的link_to:
<%= link_to "View Log", log_on_date_path(:date => Date.today.strftime('%d-%B-%Y')), :remote => true, "data-type" => "html" %>
WorkoutLogController 背后没有模型——它只是一个控制器。但是,我无法在 on_date 上执行请求,因为它会引发以下错误:
NameError (uninitialized constant WorkoutLog):
当我运行rake routes
它似乎很好,因为它会生成以下内容:
log_on_date /workout_log/:date(.:format) {:controller=>"workout_log", :action=>"on_date"}
workout_log /workout_log(.:format) {:controller=>"workout_log", :action=>"index"}
我无法理解问题所在(尤其是在过去一晚试图弄清楚之后)。Rails 是否正在寻找与之关联的模型并且没有这样做?