2014-09-25 85 views
0

在我的应用程序中,我有一个用于创建新旅程的窗体。模型旅行具有字段finish_address。为了设置finish_address,我使用select以简单的形式从用户的地址簿中选择地址。但是我想要做出更好的形式:如果没有必要的地址,用户可以使用输入字段添加它。选择或输入

所以我需要形式来安装类型finish_address的。我怎么做到的?

回答

0

你有2个基本选项。

您可以在文字输入使用自动完成,用填充值知道一个动态的作物下来。 有几个宝石可以让你开始在这个方向,如https://github.com/crowdint/rails3-jquery-autocomplete

或者,你可以添加一个“其他”选项来选择输入,填入您的已知值。当选择“其他”项目时,在选择输入下方显示一个具有相同名称的以前隐藏的文本输入。 “最低”元素将优先发送给控制器。

在控制器中,只是做一个find_or_create_by,用你提供的值。

这些选项都需要JavaScript,但可以相应地减少对JavaScript的需要,如果你让你选择非DB支持的属性,操纵你的参数,可以为他们进来的模型。这也可能有助于验证。