【发布时间】:2016-09-02 00:12:16
【问题描述】:
我有一个带有单个 text_field_tag 的表单。这种形式出现在整个应用程序布局中。我使用params[:controller] 来设置url_for_options。根据用户在哪个页面上使用此text_field_tag,功能会有所不同。
然后将逻辑保存在使用此搜索表单的众多控制器的创建操作中。
如果用户搜索的页面不是我预设的指定控制器之一,它当前默认为一个。我希望能够根据text_field_tag 的内容更改使用的默认控制器。
所以如果用户输入一个 IP 地址,我会将他们路由到第 x 页。如果用户输入电子邮件地址,我会将他们路由到页面 y。
我的问题是,如何在用户点击提交之前或点击提交之后但在我设置 url_for_options 之前查看用户输入的内容?
我有一个 if/elsif/else 语句来处理我的部分表单中的 url_for_options。在 else 语句中,我设置了设置 url_for_options 的默认搜索路由。我基本上想要一种方法,在 else 块中,检查 text_field_tag 是 IP 还是电子邮件地址(我可以使用正则表达式进行实际检查,并且不需要帮助)。但是我的问题是,在我已经提交表单之前,我无法找到查看text_field_tag 内部的方法,而且我不确定我可以将逻辑放在哪里来检查text_field_tag 的内部和然后将它们重定向到所需的页面。
【问题讨论】:
-
请您发布一些实际代码。抱歉,否则这有点含糊。
-
请阅读“How to Ask”和“minimal reproducible example”。我们希望看到您尝试解决这个问题并从那里开始工作。没有任何代码的描述让我们很难“看到”你在做什么,并导致很多猜测和问题。 Ruby 或 Rails 都不能做你想做的事,所以这个问题完全是关于 JavaScript 和 jQuery 的。
标签: javascript jquery ruby-on-rails ruby forms