使用select_tag选择下拉值时如何编写条件?

时间:2015-09-08 17:21:19

标签: ruby-on-rails

我正在尝试生成一个报告,其中下拉列表中有3个静态值,当我们选择一个值并单击“提交”时,必须生成此值的代码。

这是我的报告控制器:

  def create_report
    @report = MyReport.create_report(params[:id], params.merge(account: current_account, user: current_user))
    @report.execute
  end 

在app / views / reports / report / _report.html.haml中:

= content_for :report_filters do
  .form-group
    = select_tag :param_name, options_for_select([['A data', 'A'], ['B data', 'B']], params[:param_name])

这是app / reports文件夹中的.rb文件:

class TransactionReport < MyReport
  def execute
    @items = []
    if params[:param_name] == "A"
       daily_items = A.by_account(@account).active.includes(:company_name, :emp_name, :address).where('date(txn_date) = ? ', current_date)
      @items << Item.new(items: daily_items, date: current_date) unless daily_items.empty?
    elsif params[:param_name] == "B"
      daily_items = B.by_account(@account).active.includes(:company_name, :emp_name, :primary_sales_rep).where('date(txn_date) = ? ', current_date)
    end
  end
end

显示错误:

未定义的局部变量或方法`params'代表#

如果选择了A,请告诉我如何编写,如果不使用Javascript则选择B或C。

0 个答案:

没有答案