太阳黑子返回模型的所有结果

2024-01-11

我的控制器中有这样的:

def boards
   @user = User.find_by_slug(params[:id])
     @search = @user.boards.solr_search do |s|
       s.fulltext params[:search]
       s.keywords params[:search]
       s.order_by :created_at, :desc
       s.paginate :page => params[:page], :per_page => 1
     end

   @boards = @search.results
respond_to do |format|
  format.html { render :layout => nil}# panel.html.erb
  format.json { render json: @boards }
  format.js
end
end

在我看来:

<table id="body_object">
 <% for board in @boards %>
  <tr class="attributes">
   <td>
     <%= board.id %>
   </td>
   <td>
     <%= board.name %>
   </td>
   <td>
     <%= board.description  %>
   </td>
  </tr>
 <% end %>
</table>

   <div id="content_pagination">
    <%= paginate @boards, :remote => :true  %>
  </div>

@user.boards控制器中是属于用户的每个板。

但我得到的每块板都喜欢Boards.all.

我只想获取属于用户的每个板。

我尝试过@user.boards但我有一个像这样的数组分页:

@boards = Kaminari.paginate_array(@user.boards).page(params[:page]).per(1)

如何解决太阳黑子的这个问题?

编辑:添加控制台测试

1.9.2-p290 :094 > Board.all.size #I get count boards for Board.all
 => 4 

1.9.2-p290 :095 > user = User.first #I get the first

1.9.2-p290 :096 > user.boards.size #I get count for boards belongs to user
 => 2 

1.9.2-p290 :098 > user.boards.solr_search.total # This is the problem :O The result must be 2
 => 4 

问题已修复

修复:要为可搜索块建模,您必须添加该板的父级:user_id,如果您有 mongodb 数据库,则为字符串;如果您有 sql 数据库,则为整数:

#search
  searchable do
   text :name
   string :user_id
 end

在这种情况下的控制器中我添加了s.with(:user_id, @user.id)并替换@user.boards模型名称如下:

def boards
   @user = User.find_by_slug(params[:id])
     @search = Board.solr_search do |s|
       s.fulltext params[:search]
       s.keywords params[:search]
       s.order_by :created_at, :desc
       s.with(:user_id, @user.id)
       s.paginate :page => params[:page], :per_page => 1
     end

   @boards = @search.results
respond_to do |format|
  format.html { render :layout => nil}# panel.html.erb
  format.json { render json: @boards }
  format.js
end
end

现在工作正常:D。谢谢

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

太阳黑子返回模型的所有结果 的相关文章

  • 使用redirect_to :create 动作

    我正在尝试重定向到另一个控制器的创建方法 但是 我找不到将方法设置为 POST 的方法 这将导致调用索引方法 使用 method gt post只是创建一个新参数 但不会更改 http 方法 有什么想法如何重定向到创建方法吗 您无法在重定向
  • puma systemd 脚本无法启动 puma

    我已经从多个来源复制并粘贴了以下美洲狮系统启动脚本的片段 但它不起作用 系统是Debian 9 6 用户rails红宝石通过安装rvm 用户rails可以启动命令RAILS ENV production bundle exec puma C
  • 使用 RSpec 测试导轨金属/机架?

    假设我有一个名为 Preview 的 Metal 类 如何使用 RSpec 进行测试 当我尝试时 require spec helper describe Preview do it should return the posted con
  • 在 Rails 中呈现路由错误的 404 页面

    我试图在 Rails 中渲染集成的 404 页面作为例外 我尝试了这个 但仍然收到路由错误页面 posts controller rb def destroy if current user username post email post
  • 轨道上的下一个对象问题

    视频影像 表 id title votes count 视频影像 控制器 def show video Video find params id next video Video order votes count DESC where v
  • Ruby on Rails:Cucumber:如何点击打开新窗口的链接?

    我有一个在新窗口中打开的链接 我需要测试该新窗口中的应用程序部分 任何建议将不胜感激 定义一个包含以下代码的步骤 page driver browser switch to window page driver browser window
  • Ruby on Rails 离线编程

    我将离开互联网几周 但仍然想完成一个项目 我应该采取哪些步骤来确保在断开连接时能够访问我需要的内容 ruby 和 ROR 离线时 以下内容很难获得 gems docs Rails 专家博客 堆栈溢出 so gem 安装尽可能多 下载所有的轨
  • 如何在 Rails 上的 .yml 本地化文件中换行?

    我有一个带有一些本地化内容的 terms en yml 文件 例如 en devise registrations terms text This agreement was written in English US To the ext
  • db:schema:load 与 db:migrate 使用 capistrano

    我有一个 Rails 应用程序 我正在将其移动到另一台服务器 我认为我应该使用 db schema load 来创建 mysql 数据库 因为这是推荐的 我的问题是我正在使用 capistrano 进行部署 并且它似乎默认为 rake db
  • 如何使用 Rails 4 和 Ruby 2.0 应用程序进行实时重新加载?

    如果我在 Rails 4 Ruby 2 0 项目的文本编辑器中编辑 scss 或 erb 文件 我希望在浏览器中看到实时更改 我尝试了 Guard 和 Guard live reload 但它抛出以下错误 22 58 04 ERROR Co
  • 使用设计宝石导轨注销用户

    在管理部分 我显示当前登录用户的列表 现在管理员可以选择一个或多个用户并销毁他们的会话 注销他们 我不知道从哪里开始 请帮助我 您可以使用sign out通过传入用户对象在控制器操作中的方法 Make sure only admins ca
  • 创建费用前验证 CVC 代码

    我正在尝试检查用户输入的 cvc 代码 我已经存储了条带 customer id 和条带 card id 我想在向用户收费之前验证 CVC 代码 以下是创建费用的代码 charge Stripe Charge create amount g
  • 何时使用node.js、sinatra、rails? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这 3 种语言 框架的最佳用途是什么 混合所有 或 2 个 有用吗 如果您正在构建一个完整的 Web 应用程序 您可能应该使用 Rails 因为
  • Rails 4 - 每次运行 rake db:migrate 命令时,rake 命令都会显示弃用警告

    pinterestclone rake db migrate DEPRECATION WARNING Sprockets method register engine is deprecated Please register a mime
  • RailsAdmin 中具有 join_table 和 has_many :through 的模型的路由错误

    所以我有3个模型 category product category products 这是我的category rb attr accessible name has many category products do def with
  • 启动同一作业的多个延迟作业进程

    我在运行多个工作人员的设置中使用延迟作业 就我的问题而言 这并不重要 但假设我运行 10 个工作线程 当前在开发模式下执行此操作 我遇到的问题是两个不同的工作人员有时开始处理同一项工作 调用我的工作对象上的执行方法 据我所知 延迟作业正在使
  • Rails 3 best_in_place 编辑在不刷新页面的情况下无法工作

    我从Bernat的博客rails迷你教程中获取了评论代码 我尝试使用他的 best in place gem 添加就地编辑功能 在大多数情况下它工作正常 我的代码部署在http falling spring 3964 herokuapp c
  • 将 mongodb 与 solr 集成的动机是什么 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Mongodb 是一个 nosql 数据库 除了全文搜索之外 任何查询都可以在其上运行 因为它会降低整体性能 Solr 是一个搜索引擎 当我们将
  • 用于 S3 私有文件的 ActiveStorage

    到目前为止 我一直在使用 Paperclip 将一些文件上传到 S3 其中一些文件不是公开的 Paperclip 允许通过以下位将一些文件作为私有文件上传 has attached file image styles large 2000x
  • 如何过滤 Solr 中多值字段返回的值

    我有一个文档 其中包含一个名为 uuid 的字段 该字段是一个列表 多值 每个文档最多可以有 100k 个值 例如 我想搜索与以 5ff6115e 开头的 uuid 匹配的文档 我已经可以通过使用成功做到这一点q uuids 5ff6115

随机推荐