首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

二级上拉选择框option_groups_from_collection_for_select

2012-09-13 
二级下拉选择框option_groups_from_collection_for_selectclass Group ActiveRecord::Basehas_and_belon

二级下拉选择框option_groups_from_collection_for_select

class Group < ActiveRecord::Base  has_and_belongs_to_many :users  # attribs: id, nameendclass User < ActiveRecord::Base  has_and_belongs_to_many :groups  # attribs: id, nameendclass Delivery < ActiveRecord::Base  belongs_to :recipient, :class_name => "User", :foreign_key => :recipient_id  # attribs: id, name, recipient_idend
?

option_groups_from_collection_for_select(Group.all, :users, :name, :id, :name, @delivery.recipient_id)

?

效果:

金工组-------------------group_name

? ?用户1------------------user_name

铆焊组

? ?用户2

? ?用户3

?

api说明:

option_groups_from_collection_for_select(collection, group_method, group_label_method, option_key_method, option_value_method, selected_key = nil)

Returns a string of?<option>?tags, like?options_from_collection_for_select, but groups them by?<optgroup>?tags based on the object relationships of the arguments.

Parameters:

  • collection?- An array of objects representing the?<optgroup>?tags.

  • group_method?- The name of a method which, when called on a member of?collection, returns an array of child objects representing the?<option>tags.

  • group_label_method+ - The name of a method which, when called on a member of?collection, returns a string to be used as the?label?attribute for its?<optgroup>?tag.

  • option_key_method?- The name of a method which, when called on a child object of a member of?collection, returns a value to be used as thevalue?attribute for its?<option>?tag.

  • option_value_method?- The name of a method which, when called on a child object of a member of?collection, returns a value to be used as the contents of its?<option>?tag.

  • selected_key?- A value equal to the?value?attribute for one of the?<option>?tags, which will have the?selected?attribute set. Corresponds to the return value of one of the calls to?option_key_method. If?nil, no selection is made. Can also be a hash if disabled values are to be specified.

    Example object structure for use with this method:

    class Continent < ActiveRecord::Base  has_many :countries  # attribs: id, nameendclass Country < ActiveRecord::Base  belongs_to :continent  # attribs: id, name, continent_idend

    Sample usage:

    option_groups_from_collection_for_select(@continents, :countries, :name, :id, :name, 3)

    Possible output:

    <optgroup label="Africa">  <option value="1">Egypt</option>  <option value="4">Rwanda</option>  ...</optgroup><optgroup label="Asia">  <option value="3" selected="selected">China</option>  <option value="12">India</option>  <option value="5">Japan</option>  ...</optgroup>

    Note:?Only the?<optgroup>?and?<option>?tags are returned, so you still have to wrap the output in an appropriate?<select>?tag.


热点排行