Ruby on Rails中select使用方法

2021-05-22 08:04:05 字數 2758 閱讀 8920

在ruby on rails中真的有一堆select helper可以用,我們經常容易混淆。常見的有三個..

select, select_tag, collection_select(其餘的什麼select_date那些不談)

我們先來看看乙個基本的下拉式選項骨架

p>

<

select

name="

ror"

>

<

option

value="

1">

ror1

option

><

br/>

<

option

value="

2">

ror2

option

><

br/>

<

option

value="

3">

ror3

option

><

br/>

select

>

<

p>

在乙個下拉式選項中,有一些是必備的資訊,像」name」、」value」與」text」三個,在回傳資訊給serve時,」name」將是接收資訊用的,而」value」會傳回被選的值,而」text」則是使用者會看到的字,依上面的例子來講,ror1、ror2、ror3就是屬於」text」

開始講講哪三種select helper

select:

select(object, method, choices, options = {}, html_options = {})

在actionview::helpers::formoptionshelper中定義

來這裡舉個例子吧

<%=

select("

project",

"teacher_id",

@teachers

.collect, )

%>

<%=

select("

project",

"student_id",

)%>

第乙個例子中,

@teachers

在controller

是這樣的

@teachers

= teacher

.find(:

all, :

select

=>

'id, name')

select_tag:

select_tag(name, option_tags = nil, options = {})

在actionview::helpers::formtaghelper中定義

如果你很喜歡動手打option的話.. 那用select_tag準沒錯啦!

在select_tag中,name將會是params所接收值所用的鍵

直接看範例

<%=

select_tag

'user',

"cfc

"%>

這時在controller

中將會用

params[:

user

]來接收傳過來的值

但是select_tag

也可以搭配

options_for_select

或者options_from_collection_for_select

一起使用.. 來看乙個範例吧

<%=

select_tag('

sid'

, options_from_collection_for_select

(@students, '

id', '

name')

, :multiple

=>

true

)%>

因為加上了:

multiple

,所以可以接受多值選擇,這時在

controller

接收到的

sid將會是乙個陣列,這也是我所卡住的地方..

select_tag

(name

,options_for_select

(select_options

,selected

),options

)collection_select:

collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})

在actionview::helpers::formoptionshelper中定義

如果資訊**是資料庫的話,可以使用這個來做下拉式選項。

這個object不用我說,就是你的model

method呢?當然就是欄目了

其實說起來,這只是select+options_from_collection_for_select的組合啦!

範例:<%=

collection_select(:

payment

, :id

, @payments

, :id

, :name

, options

=, :

class

=>

"payment")

%>

OC中description方法和sel

補充兩個知識點 一 description方法 description方法包括類方法和物件方法。nsobject 類所包含 一 基本知識 description 物件方法 使用nslog和 輸出某個物件時,會呼叫物件的 description 方法,並拿到返回值進行輸出。description 類方...

ruby on rails中建立xml資料

1 安裝builder這個gem gem install builder2 建立xml示例 require builder xml builder xmlmarkup.new target stdout,indent 1 target stdout 引數 指示輸出內容將被寫向標準輸出控制台 inde...

Ruby on rails中相應Ajax請求

rails是我一直認為最好用的框架之一,感覺他的約定大於配置的策略使框架使用起來很人性化,用起來也符合我們一般的習慣。在rails中相應ajax請求是非常方便的,最簡單的在控制器中直接把從資料庫中取出的activerecord用 render json 的方式返回給客戶端就可以了。例如,我們有乙個使...