1

我有一个 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。没有一个如何通过名称进行选择的示例。

4

1 回答 1

6

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

= f.association :language, selected: lambda { |lan| lan.name == 'German' }
于 2012-07-28T19:03:23.190 回答