2012-05-04 98 views
1

我想使用jQuery鏈接選擇。 這是需要的HTML的樣本(不是我正在使用的代碼 - 但是,會給你一個想法如何jQuery的要求HTML看):RoR使用鏈接選擇jQuery插件

<select id="mark"> 
    <option value="">--</option> 
    <option value="bmw">BMW</option> 
    <option value="audi">Audi</option> 
</select> 
<select id="series"> 
    <option value="">--</option> 
    <option value="series-3" class="bmw">3 series</option> 
    <option value="series-5" class="bmw">5 series</option> 
    <option value="series-6" class="bmw">6 series</option> 
    <option value="a3" class="audi">A3</option> 
    <option value="a4" class="audi">A4</option> 
    <option value="a5" class="audi">A5</option> 

我的回報率應用程序有客戶,項目和任務 我需要在任務選項類包含project.id

現在我使用的是簡單的表格,代碼如下所示:

<%= collection_select(:project, :projname, Project.all, :id, :client_project, {}, {:class=>'project_select'}) %> 
<%= f.association :task, :label_method => :taskname, :label => 'Task' %> 

集合列出項目(我已將客戶連接到項目)。所以HTML的第一部分很好。

但是,如何獲得關聯代碼以將project.id用作每個任務的類?

謝謝!

回答

1

我偶然發現了你的問題,我知道這是老了,但我這個用解決simple-form以下列方式:

= form.input :task do 
    = form.select :task_id, Task.all.map { |t| [t.taskname, t.id, { :class => t.project_id }] }, :include_blank => true 

本質上是你使用simple_form包裝器input,但定義一些自定義的HTML在包裝器中使用(在這種情況下,它使用Rails select窗體幫助器)。 Rails helper允許你根據@ pduersteler的回答傳遞類。

我在我的意見中使用HAML的情況下,不清楚:)

+0

感謝您的幫助! – Reddirt

+0

非常歡迎:D –

0

一種可能性是使用select而不是collection_select並使用options_for_select助手將您的收藏傳遞給select。使用options_for_select允許將html作爲第三個屬性。在這裏看到:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_for_select

控制器:@projects = Project.all.map{ |p| [p.projname, p.id, {:class => p.id}] }
查看:select(:project, :projname, options_for_select(@projects), {:class=>'project_select'})

未經測試,可能需要修改