我有一个包含语言列表的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。不是一个如何通过名称选择的例子。
答案 0 :(得分:6)
是的,SimpleForm
可以接受selected
选项的proc。在您的情况下,代码是:
= f.association :language, selected: lambda { |lan| lan.name == 'German' }