2012-07-28 69 views
1

我有一个包含语言列表的simple_form集合。我想在默认情况下选择'German',但simple_form中的selected:选项需要一个id。我可以获得'德国'的身份证,但希望没有必要。simple_form选择:按名称

= f.association :language, selected: // not sure what to put here 

这工作,但太臭了(我不会使用这种残暴的代码):

= f.association :language, selected: Language.where("name = 'German'").first.id 

我希望这样的事情:

= f.association :language, selected: { |lan| lan.name == 'German' } 

每个例子中,我发现在最后一小时涉及身份证。没有一个如何通过名称选择的例子。

回答

6

是的,SimpleForm可以接受pro的selected选项。在你的情况下代码是:

= f.association :language, selected: lambda { |lan| lan.name == 'German' } 
+0

谢谢!很有帮助。 – 2012-07-29 00:38:03

+0

完美地工作! – Shane 2013-01-02 06:24:54