首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有路由匹配{:action=>“评估”,:controller=>“演练”}

没有路由匹配{:action=>“评估”,:controller=>“演练”}
EN

Stack Overflow用户
提问于 2013-08-21 08:05:42
回答 1查看 90关注 0票数 0

当使用菜单允许从控制器“演练”中选择“计算”方法时,我得到错误消息:“没有路由匹配{:action=>”计算“,:controller=>”演练“

控制器

代码语言:javascript
复制
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的rake路径

代码语言:javascript
复制
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_evalate_path,如下所示

代码语言:javascript
复制
....
<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> 
....

在菜单视图中,我尝试了许多不同的选项,包括

代码语言:javascript
复制
<li class="tab <%=(tab_id == 'Investor Room') ? 'active' : '' %>">
          <%= link_to "Expanded Investor Room", 
          drills_path, action: => :evaluate %></li>

它试图执行“创建”操作。

我想我可以用link_to输出的Rake路由输出的最左边一列带我到适当的页面。我一定错了。我如何设置一个link_to,以便让我在操练控制器中进行评估操作?

预先谢谢皮埃尔

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-21 08:11:01

这是一个成员路线,这意味着你必须给它你期望的演习的id

Ie:

代码语言:javascript
复制
drill_evaluate_path(id)
#or
drill_evaluate_path(drill_object)

它在这里写得很清楚(请参阅drill_id param):

代码语言:javascript
复制
drill_evaluate POST   /drills/:drill_id/evaluate(.:format) drills#evaluate
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18352004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档