メニューを使用してコントローラー「Drills」からメソッド「evaluate」を選択できるようにすると、「ルートが一致しません {:action=>"evaluate", :controller="drills"」というエラー メッセージが表示されます
コントローラー
class DrillsController < ApplicationController
before_filter :load_drill, except: [:index, :new, :create]
authorize_resource
rescue_from GeoPosition::Error::InvalidDegreesError,
GeoPosition::Error::InvalidMinutesError,
GeoPosition::Error::InvalidSecondsError do |e|
flash[:message] = e.message
redirect_to :back
# can only be placed here
end
def evaluate
evaluation_assumption = Evaluation.generate_projection(assumption_params)
if evaluation_assumption.valid?
result_list = Evaluation.generate_projection(@drill.drill_interests,
evaluation_assumption)
respond_to do |format|
format.json { render json: results_list}
end
else
respond_to do |format|
format.json { render json: []}
end
end
end
.. controller continues
CONTROLLER=drills レーキ ルートを使用すると、
drill_evaluate POST /drills/:drill_id/evaluate(.:format) drills#evaluate
drills GET /drills(.:format) drills#index
POST /drills(.:format) drills#create
new_drill GET /drills/new(.:format) drills#new
edit_drill GET /drills/:id/edit(.:format) drills#edit
drill GET /drills/:id(.:format) drills#show
PUT /drills/:id(.:format) drills#update
DELETE /drills/:id(.:format) drills#destroy
Drill - Evaluate にアクセスしようとするメニュー ビューは、次のように drill_evalate_path です。
....
<ul class="t-nav">
<li class="tab <%=(tab_id == 'Drill Information') ? 'active' : '' %>">
<%= link_to "Drill Information", drill_stakes_path %></li>
<li class="tab <%=(tab_id == 'Investor Room') ? 'active' : '' %>">
<%= link_to "Expanded Investor Room",
drill_evaluate_path %></li>
</ul>
....
メニュービュー内で、さまざまなオプションを試しました。
<li class="tab <%=(tab_id == 'Investor Room') ? 'active' : '' %>">
<%= link_to "Expanded Investor Room",
drills_path, action: => :evaluate %></li>
「作成」アクションを実行しようとします。
Rake Routes 出力の一番左の列を link_to で使用して、適切なページに移動できると考えました。私は間違っているに違いない。Drills コントローラーの評価アクションに移動するように link_to を設定するにはどうすればよいですか?
前もって感謝します ピエール