我遇到了一个非常奇怪的错误,它说明了以下内容:
Template is missing
Missing template /404 with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "c:/Sites/jobapp/app/views" * "C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/devise-2.1.2/app/views"
这很奇怪,因为我的所有其他路线似乎都正常工作,除了以下几点:
<%= Link_to "Add Job", new_user_job_path %>
我的路线设置如下:
JobappV2::Application.routes.draw do
devise_for :users
resources :newsletters
get "pages/advertise"
get "pages/contact"
get "pages/about"
get "pages/terms"
resources :jobs do
collection { post :search , to: 'jobs#index' }
end
resources :users do
resources :jobs
end
root :to => 'jobs#index'
end
因此应该能够使用localhost:3000/users/1/jobs/new
在作业控制器中,我有:
def new
@user = current_user
@job = @user.jobs.build
end
def create
@user = current_user
@job = @user.jobs.create(params[:job])
if @job.save
redirect_to jobs_path
else
render new_user_job_path(current_user.id)
end
end
在我的工作新视图中,我正在使用以下表单方法:
<%= form_for [@user, @user.jobs.build] do |f| %>
如果有人知道这里可能出了什么问题,真的会非常感激,因为我已经挣扎了一段时间:(
谢谢!