2011-07-04 23 views
0

也許這是錯誤的方式去做事情 - 如果你有它們,我會接受任何更好的建議!Formtastic Collection_select無關模型

我們有一個簡單的訂購系統 - 我們的訂單有很多里程碑,每個里程碑都屬於訂單。

順便說一句,每個里程碑也已分配給用戶,但我不想創建我的用戶也擁有令兩者之間的關係......

在我的里程碑形式,我有以下:

<%= semantic_form_for([@order, @milestone]) do |f| %> 
..... 
<div class="field"> 
    <%= f.label :milestone_user %><br /> 
    <%= f.input :milestone_user, :as => :radio, :collection => User.find(:all, :order => "name ASC") %> 
    </div> 
.... 
<%= f.submit %> 
<% end %> 

這是非常奇妙的,我可以看到我的用戶呈現爲單選按鈕。

問題是,當我保存時,我留下了用戶名,而不是名稱。

我該如何將此名稱轉換爲名稱?

謝謝!

回答

0

,如果你在你的模型正確協會下面應該工作(昨天剛做了它在一個視圖模板)

place.cplace.name 

那裏,在我的模型:

class Place < ActiveRecord::Base 
    attr_accessible :name, :cplace_id, :cmoney_id, :copen_id, :description 

    belongs_to :user 
    belongs_to :cplace 
... 
end 

class Cplace < ActiveRecord::Base 

    attr_accessible :name, :description 

    has_many :places 
... 
end 

因此,即使我的cplace(分類地點)場地模型被命名爲cplace_id,您可以通過名稱或任何其他字段解救

place.cplace.name 

其中place是一個實例變量,包含Place ...實例...

希望它有幫助,並且編碼愉快!

+0

這並不是我正在尋找的,因爲我的用戶並不擁有里程碑。 –

+0

還挺晚。但是......你可能會從參數中得到id,並使用類似'Milestone.find(params [:id])。name' – juanm55

相關問題