在rails中使用select_tag时如何写条件?

时间:2015-08-20 05:25:01

标签: ruby-on-rails

我正在开发一个生成报告的任务,我们将在下拉列表中显示3个字段A,B和C.这些A,B,C是模型。如果我们选择A,则必须列出A的所有细节。(请注意,我们不保存报告。) 为此,我创建了一个html页面,下拉为:

<%= select_tag 'report',options_for_select([["A", "a"], ["B", "b"], ["C", "c"]]),include_blank: true, class: 'form-control' %>

这是正确的表达方式吗?如果选择“A”或“B”,我该如何写条件?

1 个答案:

答案 0 :(得分:0)

也许是这样的:

查看:

<%= form_tag(controller: "YY", action: "XX", method: "get", class: "form-control") do %>
   <%= select_tag 'report',options_for_select([["A", "a"], ["B", "b"], ["C", "c"]]),include_blank: true, :onchange => "this.form.submit()" %>
<% end %>

<% if @model %>
     <% case @model %>
      <% when "a" %>
        do work 
      <% when "b" %>
        do work
      <% when "c" %>
        do work
     <% end %> 
<% end %>

其中YY和XX是呈现此视图的控制器/方法。

控制器:

def XX
   if params.has_key?(:report)
     @model = params[:report]
   end
end

请查看