簡體   English   中英

Ruby on Rails - 活動管理員:與全局變量沖突

[英]Ruby on Rails - Active Admin: Conflict with a Global Variable

在Rails 4上使用最新版本的Active Admin(使用Ransack)。 我有一個我在application_controller.rb中全局提供的獎勵模型:

  before_action :set_awards

  private
    def set_awards
      @awards = Award.all
    end

這是我可以有一個列出所有獎項的全球導航下拉列表(在公共方面)。 我認為這與Active Admin存在沖突。 當我進入獎項索引頁面時,我收到以下錯誤消息:

Collection is not a paginated scope. Set collection.page(params[:page]).per(10) before calling :paginated_collection.

我不確定這究竟是什么意思,但由於這是唯一的模型,我猜這與我在app控制器中的代碼有關。 我認為我的問題類似於這個問題:

Rails 3.2 ActiveAdmin'集合不是分頁范圍。' 錯誤

...我寧願不更改模型的標簽,並且提供的元搜索代碼不起作用,因為(我認為)Active Admin現在使用Ransack。 謝謝你的幫助。

我有同樣的問題,它是一個變量名稱,我在應用程序控制器聲明與ActiveAdmin沖突。

我有一個名為Post的模型,在我的applicationController中我有一個這樣的方法:

def load_posts
  @posts = Post.all
end

它返回了你提到的錯誤,所以我修復了它將變量名改為:

def load_posts
  @post_list = Post.all
end

希望能幫助到你。

可能是您在ApplicationController中覆蓋了局部變量@awards,但Active Admins繼承自應用程序控制器。 只需重命名您的變量即可運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM