2012-02-09 28 views
0

我在Active Admin上使用Ruby on Rails,並且我有一個與用戶模型有關的模型。一切正常,而不是用戶電子郵件或其他東西,它會在創建新對象時在選擇框中顯示用戶對象。例如:Active Admin中的相關對象中的好名字

<select id="playground_open_time_user_id" name="playground_open_time[user_id]"> 
    <option value=""></option> 
    <option value="15">#<User:0x7fb553945628></option> 
    <option value="44">#<User:0x7fb553943508></option> 
    <option value="51">#<User:0x7fb553942ef0></option> 
</select> 

如何以及在哪裏可以改變,它會顯示電子郵件或名字+姓氏?

回答

0

你有沒有嘗試添加方法「名」到模型中,是這樣的:

class User 
    def name 
    "#{first_name} #{last_name}" 
    end 
end 
+0

工程很好。謝謝! – 2012-02-09 19:09:00

0

您可以在模型中添加一個方法,如pretty_string,或者添加一個看起來像pretty_user_string(user)的助手。然後你必須更新你的視圖才能調用好的方法/函數。

0

最簡單的事情是定義一個to_s方法的模型對象,像這樣:

def to_s 
self.first_name 
end 

每當ActiveAdmin遇到您的對象並需要顯示它時,它將使用該方法返回的值。這很像許多Java框架使用的toString()方法。