2014-10-16 45 views
0

我想让用户输入一个id,然后用该id检索属性。如果我只是使用默认情况下在ruby属性中生成的序列,我该怎么做?我找到了,我不能有,说如何发送表单输入到红宝石功能

<%= form_tag(guidelines_path, :method => "get", id: "search-form") do %> 
    <td><%= label_tag(:seeChildren, "See Immediate Children")%></td> 
    <td><%= text_field_tag :seeChildren, params[:seeChildren], placeholder: "Enter ID" %></td> 
    <td><%= submit_tag "Search", :name => nil %></td> 
    <% end %> 

应用程序/控制器/ guidelines_controller.rb有

def index 
    if params[:invsearch] 
     @guidelines = Guideline.invsearch(params[:invsearch]).all 
    elsif params[:progsearch] 
     @guidelines = Guideline.progsearch(params[:progsearch]).all 
    elsif params[:investor].present? && params[:program_code].present? 
     @guidelines = Guideline.invprogsearch(params).all 
    elsif params[:client].present? && params[:program_code].present? 
     @guidelines = Guideline.cliprogsearch(params).all 
    elsif params[:seeChildren] 
     @guidelines = Guideline.find(params[:seeChildren]) 
    elsif params[:seeParent] 
     @guidelines = Guideline.seeParent(params[:seeParent]).all 
    else 
     @guidelines = Guideline.all 
    end 
    end 

基本上有可能运行几个不同的查询形式,他们都工作正常。

不要担心孩子在我的应用程序中,我只是想弄清楚如何使用用户提供的参数检索属性。

回答

0

您正在告诉指南,找到:seeChildren,这是错误的。
这应该是你想要的:

@guidelines = Guideline.find(params[:seeChildren]) 
+0

这仍然不起作用。我尝试渲染索引时遇到了无方法错误。你想看看整个索引控制器吗? – 2014-10-16 23:58:49

+0

缺少什么方法?我假设你正在使用Rails – Iazel 2014-10-17 00:03:06

+0

指南中的NoMethodError#index是我得到的错误。完整索引已添加到原始帖子 – 2014-10-17 00:06:50