【问题标题】:Pass parameter into controller from select box将参数从选择框传递到控制器
【发布时间】:2012-01-11 05:18:17
【问题描述】:

这是我的看法:

 <%= form_tag({ :action => "display"}, :method => "get") do %>
   <%= select(:music, :type, MusType::TYPES,  {:include_blank => true}) %>

这是我在模型中的数组常量:

  class MusType < ActiveRecord::Base
      TYPES = ['Jazz','Rock','Blues']
  end 

我的选择菜单从数组中提取值。按下提交按钮后,如何将选定的值作为参数传递给控制器​​?

【问题讨论】:

  • 通过添加表单和提交按钮?你到底想做什么?你的问题不是很清楚。
  • 嗯,它是一个搜索表单。参数将确定从数据库返回哪些数据。
  • 第二行不应该是 select_tag 而不是 select 吗?
  • 按下提交按钮后,您应该只传入一个music 参数。不知道这个问题在问什么.....
  • @jstim 不,他们也有 select 助手:api.rubyonrails.org/classes/ActionView/Helpers/…

标签: ruby-on-rails forms select parameter-passing


【解决方案1】:

您可以执行以下操作。
查看代码

<%= form_tag(:url => {:controller => "mycontroller" :action => "display"}, :method => "get") do %>
   <%= select_tag(:music, :type, MusType::TYPES,  {:include_blank => true}) %>
   <%= submit_tag "Search", :id => 'search' %>
<% end %>

读取 mycontroller.rb 中的选定值

def display
   value = params[:music][:type]
   // do something with value
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多