【问题标题】:How to use Rails select with ransack如何将 Rails 选择与 ransack 一起使用
【发布时间】:2014-03-02 18:10:27
【问题描述】:

我需要使用 Rails 的 select 方法而不是 *text_field* 来搜索遗留数据。不幸的是,项目表中的属性之一是大写的,即使我在其上使用 alias_attribute,它仍然会抱怨从实际表中正确命名。代码在一定程度上起作用,但我没有将 Project_cont 作为参数中的名称值传递,而是获得了该描述的 id。我怎样才能使这项工作?这是我目前拥有的当前代码:

 = search_form_for @search, :html => {:class => "form-inline"} do |f|
      .form-group
        = f.select :Decsription_cont, options_from_collection_for_select(Project.all, "id","Description", @search)

这是控制器的代码:

定义索引 @search = Project.search(params[:q]) @products = @search.result 结尾 这是视图的代码:

= search_form_for @search, :html => {:class=> "form-inline"} 做 |f| = f.select :Decsription_cont, options_from_collection_for_select(Project.all, "id","Description", @search.description_cont) = f.提交

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.2


    【解决方案1】:

    您应该将description_cont 添加到您的@search,如下所示:

    f.select :description_cont, options_from_collection_for_select(Project.all, "id", "description", @search.description_cont)
    

    【讨论】:

    • 谢谢@Danny。我仍然收到一条错误消息,提示“找不到 Decsription_cont”。不知道为什么,因为表包含描述属性,并且谓词是正确的。我正在考虑实际上做一些比使用 ransack 更简单的事情,即在模型中编写我自己的搜索方法并使用它进行搜索。如果您有任何其他建议,我很想听听。再次感谢您的帮助。
    • 这不仅仅是错字:描述与描述?
    • 不,我已经仔细检查了十次 :-) 以为我快疯了,但它仍然没有工作。无论如何,我写了一些简单的东西可以做同样的工作,但遗憾的是这没有成功。再次,如果你有更多的建议,我会很高兴收到你的来信。再次感谢@Danny!
    • 我建议你把你的view、controller和model中的相关部分代码添加到你的问题中,方便我们看看。应该是“简单”的东西......
    • 当然,我已经编辑了上面的初始帖子并添加了相关代码。让我知道这是否足够?谢谢@Danny。
    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多