簡體   English   中英

從Rails的控制器功能填充選擇框

[英]populating select box from controller function in Rails

我有一個帶有選擇框的Rails Web應用程序:

<%= select_tag :foo %>

我正在尋找在控制器中編寫一個函數,該函數將使用一些值填充此選擇框。 為此,我需要編寫什么代碼?

該函數是使用observe_field調用的:

<%= observe_field :foo, :url => { :action => :populate } %>

如果將值硬編碼到函數中就可以了。

def populate
  # what goes here?
end

謝謝!

試試這樣的東西...

在您的application_helper.rb中,放入以下內容:

$MEMBERROLE = ['Student', 'Coach', 'Staff', 'Administrator']

然后,在您看來,您可以輸入以下內容:

 <p>
   <%= f.label :role %><br />
   <%= f.select(:role, options_for_select($MEMBERROLE.collect{|x| [x, $MEMBERROLE.index(x)]}, @member.role)) %>
 </p>

假設您有一個類似於以下內容的Member模型:

  create_table "members", :force => true do |t|
    t.string "name"
    t.integer "role"
  end

那是一種簡單的死法。 您也可以將角色作為單獨的表使用,但我認為這對於您要查找的內容來說是過大的...

我認為您誤解了observe_field功能。 當字段更改時,它將執行一些javascript。 如果您可以為我們提供更多詳細信息,那就太好了。

例如,您是否要嘗試根據您在另一個字段中選擇的內容來更改選擇中的值?

暫無
暫無

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

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