选择simple_form:按名称

时间:2012-07-28 01:31:53

标签: ruby-on-rails-3 simple-form

我有一个包含语言列表的simple_form集合。我想默认选择“德语”,但simple_form中的selected:选项需要一个id。我可以获得“德国人”的身份,但希望这不是必要的。

= 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' }

我在过去一小时内找到的每个例子都涉及到id。不是一个如何通过名称选择的例子。

1 个答案:

答案 0 :(得分:6)

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

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