美好的一天。 我讨厌使用ransack按照标题查找文章的控制器。 我需要用于查找信息以使用自动完成的字段。 目前它找到了,但没有自动完成,你可以帮我解决这个问题和gemhttps://github.com/crowdint/rails3-jquery-autocomplete-app ? 的Gemfile gem “ransack” gem ‘rails3-jquery-autocomplete’ gem ‘nifty-generators’ gem ‘jquery-rails’, ‘~> 2.0’ 在视图中: 15 %> ‘Search’, :class=>’fl_right’ %> 布局负责人: “all” %> 调节器 class ArticlesController < ApplicationController autocomplete :article, :title 更新1和routes.rb get ‘articles/autocomplete_article_title’ 在视图中更新2 ,代替<%= f.autocomplete_field :title_cont,使用1):title_start没有更改2):articles_article_title_start等导致错误。 更新3我编辑了routes.rb。 将’articles / autocomplete_article_title’移到了locale变量的范围内, 现在它有点工作了。 ..自动完成下拉列表出现…但是空:(现在必须修复那个。 更新4尝试使用http://railscasts.com/episodes/102-auto-complete-association 。 但它适用于较旧版本的rails ……等等 更新了routes.rb中的更新5 resources :articles do get […]
我知道如何使用Ransack对于父属性的令人敬畏的sort_link方法,但是当我将相同的逻辑外推到祖父母的属性时,它不起作用(我可以点击链接,不进行排序)。 层次结构如下: Signup has_many Request has_many Transaction 。 我正在从Transaction透视图中搜索。 控制器代码: def index @q = Transaction.ransack(params[:q]) @transactions = @q.result.includes(:request => :signup) end 查看代码: 顺便提一下,搜索代码(例如:request_returndate_eq )很好,它只是排序不起作用。 型号代码: class Signup < ActiveRecord::Base has_many :requests end class Request < ActiveRecord::Base belongs_to :signup has_many :transactions, dependent: :destroy end class Transaction < ActiveRecord::Base belongs_to :request end 控制台输出 在第一次单击以升序排序(尽管任何单击它总是产生200响应,即使视图实际上没有更改) Started GET “/admin/transactions?q%5Bs%5D=requests.signups.email+asc” […]
我正在尝试使用ransack搜索文章。 在我的一个问题是如何根据标签获取文章,我发现了如何做到这一点: 找到数组的文章 现在我只想用搜索进行搜索,但是我收到了一个错误 我喜欢这个 执行此搜索xbox时出现的错误如下: PG::InvalidTextRepresentation: ERROR: array value must start with “{” or dimension information LINE 1: …es”.* FROM “articles” WHERE “articles”.”tags” IN (‘xbox’) O… inheritance人控制器: def index @q = Article.ransack(params[:q]) @articles = @q.result.paginate(page: params[:page], :per_page => 10).order(‘created_at DESC’) end 如何使用标签搜索文章? 谢谢!
我意识到其他人已经问过这个错误,但这与其他情况有关。 我已经为rails 4添加了Ransack gem,并且已经安装了捆绑: gem “ransack”, github: “activerecord-hackery/ransack”, branch: “rails-4” 我还编辑了我的控制器如下(recipes_controller): def index if params[:tag] @all_recipes = Recipe.tagged_with(params[:tag]) else @all_recipes = Recipe.all end if signed_in? @user_recipes = current_user.recipes.order(“created_at DESC”).paginate(page: params[:page], :per_page => 10) end if params[:q] @q = Recipe.search(params[:q]) @all_recipes = @q.result(distinct: true) end end 然后我在表单中添加如下(食谱/索引): 我收到以下错误 : No Ransack::Search object was provided to search_form_for! […]
比方说,我有一个带有start_date和length的事件(表示天数的整数)。 在模型中,我将end_date定义为start_date + length.days就像您期望的那样: def end_date start_date + length.days end 所有在模板中工作正常,我可以使用event.end_date显示开始日期加上长度设置为多天, 但是 ,我现在想要使用Ransack在结束日期之前对事件进行排序。 start_date的排序链接如下所示: 如果我为end_date( )尝试相同的操作,它很遗憾地失败,因为我认为它正在寻找end_date作为表中的列而没有找到它。 我只是愚蠢,还是我想做一些Ransack根本不做的事情?
我正在尝试使用Ransack在我的所有模型的索引页面上实现搜索和排序表单。 我想尽可能干这样做,所以我在views / application文件夹中创建了三个部分: 视图/应用/ _table_search_and_sort_form.html.erb 视图/应用/ _condition_fields.html.erb 视图/应用/ _sort_fields.html.erb 每个代码如下: 视图/应用/ _table_search_and_sort_form.html.erb 视图/应用/ _condition_fields.html.erb <div class="field" data-object-name="”> 视图/应用/ _sort_fields.html.erb <div class="field" data-object-name="”> 在我的每个控制器中,我都有类似的东西: def index @search = Document.search(params[:q]) @documents = @search.result.paginate(:page => params[:page]) @search.build_condition if @search.conditions.empty? @search.build_sort if @search.sorts.empty? end 然后我通过添加以下内容将表单添加到每个index.html.erb: 其中:associations数组对于每个模型是不同的,这取决于我希望可以从条件表单访问的关联。 当我不尝试通过两个部分向下传递:associations数组时,只需将数组硬编码到_condition_fields.html.erb中,例如: 一切正常(对于那个模型,在这种情况下为Document)。 当我尝试通过将:associations数组从索引传递到_table_search_and_sort_form并将其传递到_conditional_form来将其扩展到多个模型时,我收到以下错误: undefined local variable or method `associations’ Extracted source (around […]
我有一个Rails模型调用InfoData,它有一个名为error_codes的属性。 代码存储在类似[9,7,10,21](整数[])的数组中。 回顾一下 InfoData.first.error_codes => [9,7,5] 我尝试在其上使用ransack以搜索是否存在特定代码(通过选择选项)。 对于error_codes_in(_in ransack谓词),我收到以下错误 operator does not exist: integer[] = integer LINE 1: …ranch_id” WHERE “info_data”.”error_codes” IN (9) A… ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. 该如何修复?
我正在使用ransack gem在ruby on rails上开发一个高级搜索应用程序。 我遇到了以下问题 如何保存表单搜索值并保存这些详细信息以供以后查询 通过采用现有查询生成表单来编辑保存的查询 删除查询 请帮我找到解决方案。
简单来说,我只想知道是否有办法使用Ransack gem设置排序function的默认值? 即。 目前,我在页面加载时有以下内容: 但相反,我希望在页面加载时具有以下默认值 : 是否可以通过正确配置Ransack Gem来实现这一目标? 一如既往地感谢! 最好的祝福!
我正在使用ransack gem在rails应用程序中进行搜索。 我需要在User表中搜索email_ids数组。 在洗劫时提到这个问题,我按照步骤将其添加到初始化文件夹ransack.rb Ransack.configure do |config| { contained_within_array: :contained_within, contained_within_or_equals_array: :contained_within_or_equals, contains_array: :contains, contains_or_equals_array: :contains_or_equals, overlap_array: :overlap }.each do |rp, ap| config.add_predicate rp, arel_predicate: ap, wants_array: true end end 在rails控制台中,如果我喜欢这样: a = User.search(email_contains_array: [‘priti@gmail.com’]) 它产生这样的sql: “SELECT \”users\”.* FROM \”users\” WHERE \”users\”.\”deleted_at\” IS NULL AND (\”users\”.\”email\” >> ‘—\n- priti@gmail.com\n’)” 并给出如下错误: User Load (1.8ms) SELECT “users”.* […]