确定这里就是当我点击一个特定链接显示在我收到的浏览器在这种一般性错误消息:路由错误是没有意义的......反正我
没有路由匹配{:动作=> “编辑”,:控制器=>“时间表”,:incident_id =>零}
下面是页包含链接(包括创建新的记录中的路径)的代码
<div style="float:left;padding:25px;">
<p><%= link_to "Add a Command Officer", new_incident_timesheet_command_officer_path %></p>
</div>
在我点击该链接之前,浏览器url的内容如下:
localhost:3000 /事件/ 197 /时间表/编辑
而上面的浏览器网址总是有意义的。
当我将鼠标悬停我的鼠标在链接到“添加一个命令官”它说,在浏览器的底部: 本地主机:3000 /事件/ 197 /时间表/ command_officers /新
但是当我点击它会出现我在顶部提到的路由错误。以下是来自Command_Officers_controller和路由文件的代码。
我相信我已经包含了所有需要的信息,以帮助我的人,但如果我错过了一些东西让我知道。感谢您的帮助
的routes.rb
root :to => "incidents#index"
resources :users
resources :profiles
resources :incidents do
resource :mat_list
member do
post :send_notice
end
member do
get :changestatus
end
resource :timesheet do
resources :command_officers
resources :fire_chiefs
resources :fire_fighters
resources :safety_officers
resources :emts
resources :hazmat_specialists
resources :command_vehicles
resources :engines
resources :emergency_supports
resources :hazmat_units
resources :field_units
resources :pumpers
resources :tankers
resources :rescue_units
resources :ladder_truck75s
resources :ladder_truck150s
end
end
resource :session do
member do
get :resetpass
post :resetpass
end
end
command_officers_controller.rb
def new
@command_officer = CommandOfficer.new
@timesheet = Incident.find(params[:incident_id]).timesheet
respond_to do |format|
format.html # new.html.erb
end
end
# GET /command_officers/1/edit
def edit
@command_officer = CommandOfficer.find(params[:id])
end
# POST /command_officers
# POST /command_officers.xml
def create
# @new_command_officer = CommandOfficer.new(params[:command_officer])
@timesheet = Incident.find(params[:incident_id]).timesheet
@command_officer = @timesheet.command_officer.build(params[:command_officer])
respond_to do |format|
if @command_officer.save
format.html { redirect_to(edit_incident_timesheet_path, :notice => 'Command officer was successfully created.') }
else
flash[:error] = "What happened?"
format.html { render :new }
end
end
end
感谢您的建议,但部分问题是,此应用程序用于正常工作。但是我不得不在计算机上更新ruby和rails的版本,而现在用于工作的代码在某些区域已经打破。无可否认,我不是最好的程序员,我对有些“固定”代码有点怀疑,这些代码并没有真正打破。但我会尝试阅读Rails堆栈来解决问题。 – RubyDude1012 2013-03-27 17:53:58
通读堆栈,发现问题。感谢您提供简单而有效的建议。 – RubyDude1012 2013-03-27 18:46:39