簡體   English   中英

Rails表單(選擇/選項)-如何用HAML標記選擇的選項?

[英]Rails form (select/option) - how to mark selected option with HAML?

在HAML表單中標記當前所選選項值的最快,最優雅的方法是什么?

%form{:action => '', :method => 'get'}
   %select{:name => 'param_name'}
      %option{:value => 'A'} A data
      %option{:value => 'B'} B data

單程:

- if params[:param_name] == "A"
  %option{:value => 'A', :selected => 'selected'} A data
- else
  %option{:value => 'A'} A data

但這在select框將包含許多選項字段時是不合適的...

這樣的事情會起作用(將早期的“ hashrocket語法”與運算符=>

%select
  %option{:value => "a", :selected => params[:x] == "a"}= "a"
  %option{:value => "b", :selected => params[:x] == "b"}= "b"

或者,在較新的Ruby版本(1.9和更高版本)中:

%select
  %option{value: "a", selected: params[:x] == "a"}= "a"
  %option{value: "b", selected: params[:x] == "b"}= "b"

您應該釋放Rails助手的力量。

對於select標簽

= select_tag :param_name, options_for_select([['A data', 'A'], ['B data', 'B']], params[:param_name])

此外,在可能的情況下(或更好的simple_form或formtastic),可以使用form_tag或更好的form_for代替raw %form

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM