将options_from_collection_for_select与多个字段一起使用

时间:2015-08-31 19:29:37

标签: ruby-on-rails ruby-on-rails-4

如何在options_from_collection_for_select()

中指定模型中的多个属性

例如,而不是

options_from_collections_for_select(@batches, :id, :name)

输出:

<select ...>
  <option value="{id}">{name}</option>
  ...
</select>

我想输出:

<select ...>
  <option value="{id}">{id}. {name}</option>
  ...
</select>

API,我看到它支持“默认”的另一个参数,但我不想默认。我想在我的id模型中使用name以及batch字段。

2 个答案:

答案 0 :(得分:4)

首先,在您的模型上定义一个方法,如下所示:

def id_and_name
  "#{id}. #{name}"
end

然后你可以做

options_from_collections_for_select(@batches, :id, :id_and_name)

答案 1 :(得分:3)

嗯,另一种方式是:

String path = Environment.getExternalStorageDirectory() + "/file.3gp";
File f = new File(path);
Uri data = Uri.fromFile(f);
Intent i = new Intent();
i.setData(data);
setResult(Activity.RESULT_OK, i);
finish();