在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 的方式返回給客戶端就可以了。例如,我們有乙個使...