将参数传递给Rails中的collection_select的text_method

时间:2015-12-28 15:10:08

标签: ruby-on-rails collection-select

我有以下内容:

<%= collection_select 'product', 'id', @products, 'id', :description %>

- 与前面的关键字搜索匹配的产品列表。

我想使用更具体的描述,这是由模型的方法specific_description(keyword)构建的。虽然模型无法访问关键字(params [:q])。 使用collection_select时,可以使用什么将参数传递给text_method(在我的例子中描述)?

1 个答案:

答案 0 :(得分:1)

public ActionResult Download4() { var f = Server.MapPath("~/Content/mypdf.pdf"); var fileStream = new FileStream(f, FileMode.Open, FileAccess.Read); return File(fileStream, MimeMapping.GetMimeMapping(f),"MyfileNiceFileName.pdf"); } 添加到attr_accessor :keyword模型并在Product内使用:

specific_description

在控制器中:

class Product < ActiveRecord::Base
  attr_accessor :keyword

  def specific_description
    # use @keyword here
  end
end

现在,您可以在不将参数传递给@products.each { |product| product.keyword = params[:q] } 的情况下调用collection_select

specific_description