选择或输入

时间:2014-09-25 21:14:18

标签: ruby-on-rails simple-form

在我的应用程序中,我有一个用于创建新旅行的表单。 Model Trip具有字段finish_address。对于设置,我使用了finish_address以简单的形式选择来自用户地址簿的地址。但是我想要做一个更好的形式:如果没有必要的地址,用户可以使用输入字段添加它。

所以我需要使用setup finish_address的类型创建表单。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您有2个基本选项。

您可以在文本输入上使用自动完成功能,使用已知值填充动态裁剪。 有几个宝石可以帮助您开始这个方向,例如https://github.com/crowdint/rails3-jquery-autocomplete

或者,您可以在选择输入中添加“其他”选项,并使用已知值填充。选择“其他”项目时,在选择输入下方显示以前隐藏的文本输入,其名称相同。对于发送给控制器的内容,“最低”元素优先。

在控制器中,只需使用提供的值执行find_or_create_by

这些选项都需要javascript,但是如果你选择一个非db支持的属性,你可以消除对javascript的需求,并相应地操纵你的params,因为它们进入模型。这也可能有助于验证。