- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在使用 Rails Serching gem“ransack”时迷路了。
我想做的是为关联模型设置复选框。
这是我的代码。
shows_controller.rb
class ShowsController < ApplicationController
def index
@q = Show.search(params[:q])
@shows = @q.result(:distinct => true)
@shows = @shows.joins(:tickets)
respond_to do |format|
format.html # index.html.erb
format.json { render json: @shows }
end
end
index.html.erb
<%= search_form_for @q do |f| %>
<%= f.label "Show's Title: " %>
<%= f.search_field :title_cont %>
<%= f.label "Buy at:" %>
<%= check_box_tag 'q[shows_tickets_store_cont[]]', 'venue' %>At Venue
<%= check_box_tag 'q[shows_tickets_store_cont[]]', 'ticketmaster' %>Ticketmaster
<%= submit_tag "Find Now" %>
<% end %>
<% @shows.each do |show| %>
<%= show.title %> |
<% show.tickets.each do |ticket| %>
<%= ticket.store %><br />
<% end %>
<% end %>
显示.rb
class Show < ActiveRecord::Base
has_many :tickets
end
门票.rb
class Ticket < ActiveRecord::Base
belongs_to :show
end
当我在 search_field 中输入内容,选中“check_box”并单击“Find Now”按钮时,日志显示如下;
Parameters: {"utf8"=>"✓", "q"=>{"title_cont"=>"something", "shows_tickets_store_cont"=>"venue"}, "commit"=>"Find Now"}
Show Load (1.1ms) SELECT DISTINCT `shows`.* FROM `shows` INNER JOIN `tickets` ON `tickets`.`show_id` = `shows`.`id` WHERE (`shows`.`title` LIKE '%something%') LIMIT 25 OFFSET 0
我不知道为什么 SQL 没有用于 Ticket.store 的 WHERE
子句,尽管票务 Controller 收到了“shows_tickets_title_cont”=>“venue”。
请为此提出解决方案。
提前致谢。
最佳答案
实际上问题是因为您的第二个键是:shows_tickets_store_con
但应该是 shows_tickets_store_cont
。如果它有谓词 _cont
,它就接受属性。
搜查文档:
https://github.com/ernie/ransack
cont (contains) and start (starts with) are just two of the available search predicates. See Constants for a full list.
# 已编辑 1
我做了一些调查。
我认为您的方法不适合您的情况。如果所有 checkboxes
都被选中,那么您的元搜索就会出现问题 - 您必须设置另一个 predicate
。在您的情况下,它可能在谓词中 - 因为您使用 multiple values
(复选框)。
让 SQL 像:
"shows_tickets_store" IN ('venue','something')
可能的谓词:
另请阅读:
关于ruby-on-rails - Rails 的 Ransack Search,带有关联模型的 check_box,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10735595/
我需要显示一个动态值列表以在事件管理编辑屏幕上显示为复选框,其中列表来自代码(而非数据库)。我可以很容易地做到这一点,但我无法弄清楚如何将其中一些显示为已检查。 这是我正在尝试做的一个简化示例: na
我在标签上有搜索功能。我想在 form_for 中使用 check_box 呈现所有标签,我将过滤这些标签并使用新参数再次呈现所有项目。 = form_for @tags do |f| - @ta
所以我在 rails 中得到了一个带有复选框的表单助手; 我希望该复选框在选中或未选中时具有“那个值”或“这个值”的值; 我还没有找到如何设置它 f.check_box :field 我发现了类似的东
我正在使用 rails 2.3.4,当您在 form_for 中的 'f' 对象上调用 .check_box 时,为 'checked' 值创建一个可见的复选框输入,为 'unchecked' 值创建
以数组形式发布并保存到 postgres 数据库。 目前提交表单只会保存选中页面上的最后一项。因此,如果我尝试检查“汽车”和“房主”,则只会保存“房主”。 rails 日志
我在 Rails 3.1 模型中有一些 bool 属性,而我刚刚通过迁移添加的两个新属性在 Heroku (Cedar) 上无法正常工作。它们在本地正常工作,我也在其中使用 PostgreSQL(第
我使用 form_for 标签制作了一个表单。我必须制作一个带有内联标签的复选框字段,如 [checkbox] 请勾选此选项 我一直在尝试许多以前对我有用的选项,但这次它甚至不可见。当我检查元素时,我
我有一个表单上的复选框列表。由于 CSS 的结构方式,标签元素直接设置样式。这需要我将复选框嵌套在标记内。 这适用于原始 HTML,如果您单击标签文本,复选框的状态会发生变化。它不适用于 rails
玩得很开心;我确信我只是没有得到完全明显的东西,因为我无法想象这是故意如此困难。其他一切都在我的表单中工作,但是在初始显示时,复选框没有被选中。这是相关的erb: {:controller=>'pro
您好,我的 View 中有以下代码: //I write a loop here to display some workflows saying wkf.each do |i| true
我在使用 Rails Serching gem“ransack”时迷路了。 我想做的是为关联模型设置复选框。 这是我的代码。 shows_controller.rb class ShowsContro
http://www.bootstrap-switch.org/examples.html 我正在使用不确定开关(它使复选框保持在 true 和 false 之间)。问题是该开关默认为 true。 基
我需要显示用户字段的复选框。目前我这样做使用: 现在我想使用bootstrap-switch与 Rails 的 che_box 一起使用。为了使用切换按钮,复选框需要类似于: 而不是 Rails
我需要显示用户字段的复选框。目前我这样做使用: 现在我想使用bootstrap-switch与 Rails 的 che_box 一起使用。为了使用切换按钮,复选框需要类似于: 而不是 Rails
我有一个表格。我向 number_field 标记添加了一个 JQuery onchange 提交。我想对 check_box_tag 做同样的事情。如果您单击一个复选框,我希望表单得到提交。我尝试了
我是一名 Rails 新手,正在从事我的第一个项目。 我使用 has_and_belongs_to_many 关系链接了两个模型:Wine 和 Shop。为了简单起见,一种酒可以在不同的商店出售,而一
如何更改 check_box 的默认值? 意见/医生/_form.html.erb :pass 属性的数据类型是 string , 但仍然没有为 :pass 创造任何值(valu
我有一个对象 @recipient,其属性为 responding。比如说,我希望 responding 通过 =f.check_box :responding, {}, 'Yes', 'No' 存储
我是一名优秀的程序员,十分优秀!