首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我想要打开或过期的自定义操作时,Rails会显示操作

当我想要打开或过期的自定义操作时,Rails会显示操作
EN

Stack Overflow用户
提问于 2018-07-26 05:56:18
回答 1查看 21关注 0票数 0

我基本上是想在我的routes.rb中创建一个自定义索引:

代码语言:javascript
运行
复制
resources :tokens do
  resources :visits
  collection do 
    get :open
    get :expired
  end
end

我的路由显示为:

代码语言:javascript
运行
复制
 open_tokens GET    /tokens/open(.:format)                                 tokens#open
 expired_tokens GET    /tokens/expired(.:format)                              tokens#expired

我在令牌控制器中定义了open和expired

代码语言:javascript
运行
复制
 def open

       @q = Token.open_token.includes(:households, :visits).search(params[:q])
    @tokens = @q.result

       respond_to do |format|
       format.html {render template: 'tokens/open'}
       end
  end

   def expired

  @q = Token.expired_token.includes(:households, :visits).search(params[:q])
    @tokens = @q.result

  respond_to do |format|
      format.html {render template: 'tokens/expired'}
   end
  end

但它转到我的show控制器,并显示以下错误:

代码语言:javascript
运行
复制
Couldn't find Token with id=open

它在我的Show动作中崩溃了:

Better Errors将请求显示为:

{"action"=>"show","controller"=>"tokens","id"=>"open"}

在我看来,动作应该是没有参数的开放的。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-07-26 10:24:31

我想我可能已经回答了我的问题,因为似乎Rails的每个控制器只能有一个索引,所以我不能定义另一个作为索引的视图。

所以现在我想要做的是传递一个参数,这样我就可以应用一个开放的作用域或者一个过期的作用域

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51528252

复制
相关文章

相似问题

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