`

rails select 使用

 
阅读更多


Ruby代码   收藏代码
  1. <select name="payment">  
  2.  <option value="1">VISA</option>  
  3.  <option value="2">MasterCard</option>  
  4.  <option value="3">Switch</option>  
  5. </select>  



在rails中实现这类列表框,可以使用如下几个方法 
1) 使用select 

Ruby代码   收藏代码
  1. api:  
  2. select(object, method, choices, options = {}, html_options = {})
    在ActionView::Helpers::FormOptionsHelper中定义
    • object事一个实体化变数,这里很明显的就是要摆上model物件嘛!
    • method则是object的一个属性,也是资料表中的对应项目
    • choices就是要被选的选项,可以事阵列或者事哈希(Hash)
    • options与html_options则是一些选项
  3.   
  4. 例如:  
  5. <%= select( "payment""id", { "Visa" => "1""Mastercard" => "2"}) %>  
  6.   
  7. 或者使用map填充  
  8. <%= select ("payment""id"@payments.map {|u| [u.name,u.id]}) %>  
  9.   
  10.   
  11. 对应的控制器中可以使用下列代码获取内容:  
  12. @payments = Payment.find(:all)  
  13. @selected_payment = @payments[2]  



2) 使用select_tag 

Ruby代码   收藏代码
  1. api:  
  2. select_tag(name, option_tags = nil, options = {})  
  3.   
  4. 用法如下:  
  5. <%= select_tag "payment""<option>VISA</option>" %>  
  6.   
  7. <%= select_tag "payment", options_for_select([ "VISA""MasterCard""Switch" ], "MasterCard") %>  
  8.   
  9. <%= select_tag "payment", options_for_select(%w{ VISA Mastercard Switch }) %>  
  10. %w是字符串数组的简写方式,字符串数组中的每个字符串用空格隔开  
  11.   
  12. 下面可以实现多选  
  13. <%= select_tag 'payment[]', options_for_select(@payments), :multiple => true:size => 3 %>  
  14. @payments是在控制器中定义的hash:  
  15. @payments = {'Visa' => 1, 'Mastercard' => 2, 'Switch' => 3}  
  16.   
  17. 对应的控制器中可以使用下列代码获取内容:  
  18. params[:payment]  



3)使用 collection_select 

Ruby代码   收藏代码
  1. api:  
  2. collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})  
  3.   
  4. 用法如下:  
  5. <%=   
  6. @payments=Payment.find :all  
  7. collection_select(:payment:id@payments:id:name, options ={:prompt => "-Select a payment"}, :class =>"payment") %>  
  8.   
  9. 对应的控制器中可以使用下列代码获取内容:  
  10. selected_payment = params[payment][id] 
分享到:
评论

相关推荐

    select2-rails:将Select2 javascript库与Rails资产管道集成

    Select2用于Rails资产管道 是基于jQuery的选择框的替代品。 它支持搜索,远程数据集和结果的无限滚动。 select2-rails gem将Select2 jQuery插件与Rails资产管道集成在一起。 用法 安装select2-rails gem 将select2...

    rails日期控件

    在Rails中,日期控件通常通过辅助方法(helper methods)实现,如`date_select`,`datetime_select`或`time_select`等。这些辅助方法能够自动生成HTML元素,与后台模型的日期字段对应,方便数据绑定和验证。 1. **...

    jquery-rails, 一个 gem,用于自动使用jQuery和 Rails 3.zip

    jquery-rails, 一个 gem,用于自动使用jQuery和 Rails 3 railsjQuery 面向 Rails 如此伟大。这里 gem 提供:jQuery 1.7.2jQuery UI 1.8.18 ( 仅适用于 javascript )jQuery UJS适配器assert_select_j

    Mac上rails环境的搭建

    Rails应用通常会使用关系型数据库作为数据存储,MySQL是一种非常流行的选择。 ##### 1. 下载与安装MySQL - 下载MySQL安装包并进行安装。 - 运行MySQL服务。 ##### 2. 配置MySQL路径 为了让MySQL在终端中可以正常...

    Rails3的ActiveRecord 查询API.doc

    在 Rails 2.x 中,许多使用哈希参数的查询方法如 `:conditions`, `:include`, `:joins` 等在 Rails 3.1 中被标记为过时,虽然在3.1版本中仍然可用,但计划在 Rails 3.2 中完全移除。这些变化主要是为了引入一个新的...

    Complex Rails system_Rails_优化_

    使用`pluck`或`select`只获取必要的字段,降低数据传输量。 2. **索引添加**:为频繁用于排序、分组或查询的字段创建索引,显著提升查询速度。但要注意,过多的索引会影响写操作,需平衡读写性能。 3. **数据库...

    Ajax-select_all-rails.zip

    Ajax-select_all-rails.zip,易于选择和取消选择所有复选框,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的...

    Rails实现的简历系统

    4. **数据查询**:Rails的ActiveRecord层提供了强大的查询接口,如`where`、`select`、`order`等,使得开发者能方便地从数据库中检索、过滤和排序数据。ActiveRecord还支持链式查询,使得编写复杂的查询语句变得简单...

    Ruby-SimpleForm轻松处理Rails表单

    &lt;%= f.collection_select :role_id, Role.all, :id, :name %&gt; ``` 7. **嵌套表单** 如果需要处理嵌套模型,Simple Form同样提供了很好的支持。使用`accepts_nested_attributes_for`在模型中声明,然后在表单中...

    jquery-rails:一个可将jQuery与Rails结合使用以实现自动化的宝石

    该宝石提供: jQuery 1、2和3 jQuery UJS适配器assert_select_jquery在Ruby测试中测试jQuery响应版本号从v2.1开始,jquery-rails gem遵循以下版本指南,以从Gemfile中更好地控制应用程序的jQuery版本: patch ...

    influxdb-rails-源码.rar

    在`lib/influxdb/rails/query`目录下,诸如`query_methods.rb`、`select_methods.rb`等文件定义了查询方法,使得开发者可以像操作ActiveRecord一样对InfluxDB进行复杂查询。例如,`where`方法用于指定查询条件,`...

    Combined_time_select:Rails time_select(类似于Google日历),其中包括小时和分钟的组合time_select

    在这里,我们有一个名为Event的模型,该模型具有start_time属性,将与Combined_time_select一起使用。 因为Rails的time_select字段提交了单独的值,所以当我们将字段组合为一个时,在控制器方面会产生一些开销。 ...

    select-multiple-rails:一个小巧的jQuery插件,用于自定义带有multiple属性的selects

    SelectMultiple for Rails [![宝石版本] 是一个小巧的jQuery插件,用于使用multiple属性自定义选择。 select-multiple-rails gem将select-multiple与Rails资产管道集成在一起。 用法 安装select-multi-rails gem ...

    Ruby - Ruby for Rails

    - **最佳实践**:提供使用 Ruby 特性来优化 Rails 应用程序的最佳实践。 - **高级特性**:讨论 Ruby 中的一些高级特性,如元编程和多线程,并展示如何在 Rails 中利用这些特性。 - **性能优化**:分享一些关于如何...

    currency_select:Ruby on Rails的货币选择帮助器

    货币选择 在Ruby on Rails项目中添加一个currency_select辅助函数,使您可以获取可用货币HTML select列表。 货币列表由。安装将以下内容添加到您的Gemfile中: gem 'currency_select'例子 currency_select ( 'user' ...

    multiple_select_rails:基于Rails资产管道的基于HTTP的Multiselect jQuery插件

    安装将此行添加到您的应用程序的Gemfile中: gem 'multiple_select_rails' 然后执行: $ bundle或将其自己安装为: $ gem install multiple_select_rails用法包括多个选择javascript 添加到您的应用程序/资产/...

    RVM+Ruby1.9.3+Rails3(1-Cygwin 安装配置)

    - 使用 RubyGems 安装 Rails 3: ```bash gem install rails -v 3.2.13 ``` 4. **创建测试项目** - 使用 Rails 3 创建名为 `phoneqq.com` 的测试项目: ```bash rails new phoneqq.com cd phoneqq.com ``...

    react-rails-form-helpers:用于编写针对Rails的表单的组件

    React Rails表单助手 安装 通过npm使用 npm install --save react-rails-form-helpers ...select /&gt;组件的微小包装。 “字段”组件 没有Tag后缀的组件只是有些神奇。 他们使用React上下文为嵌套属性生成

    Ruby on Rails: the scope method

    在Rails中,`scope`主要用于模型类中,但也可以在其他地方使用,例如路由配置或Rake任务等。 #### `scope`的实现 在ActiveRecord模块中,`scope`方法定义在`ActiveRecord::Scoping::Named::ClassMethods`模块中。...

    Rails中应用Ext.tree:以中国的省市地区三级联动选择为例

    可以使用`select_tag`或`collection_select`辅助方法,结合JavaScript(例如jQuery)来实现动态加载。假设我们有`regions`控制器和`show`动作,视图可以这样写: ```erb (model: @selected_region, local: true) do...

Global site tag (gtag.js) - Google Analytics