2009-08-21 34 views
1

我在控制器中有3种不同的操作。每个参数都有不同的数量。 在应用程序中,所有3个都由用户点击链接执行。 现在我需要有一个表单,其中有几个字段,用户可以简单地键入他们正在寻找的内容。当用户填写表格时,取决于所提供的3个动作中的一个必须执行的内容。从用户处获取输入并在Rails中执行不同的操作

因此,在短期我需要采取从字符串的形式,确定需要哪个动作,和琴弦通入3个动作作为参数之一。

对不起,我在Rails的新手,如果你不明白我的问题,我会提供澄清:)

由于始终。

除参数外,所有3个动作的作用几乎相同。 因此,在索引页面中,我有以下3个3行为的链接。

<h3> 
<%= link_to "1. NPA", :controller => "trunks", :action => "npa" %> <br /> 
<%= link_to "2. Switch", :controller => "trunks", :action => "switches" %><br /> 
<%= link_to "3. Trunk Group CLLI", :controller => "trunks", :action => "clli" %> 

假设您点击它调用“新人民军”的行动,你会再次通过下面的代码生成链接列表呈现的第一个链接:

<h3> 
<% while j < @npa.size %> 
    <% if @npa[j] != nil%> 
    <%= link_to "#{@npa[j]}", :controller => "trunks", :action => "npanxx", :param1 => "#{@npa[j]}", :param2 => "#{@npa[j]}"%><br /> 
    <% end %> 
    <% j += 1 %> 
<% end %> 
</h3> 

在上面的代码中,有2个参数(param1和param2)被传递给下一个动作'npanxx'。

我需要实现的是与上面相同,但是从表单字段得到的参数。

根据其由用户提供的参数,我想我可以让应用程序决定哪些行动来执行。例如,上述操作的参数都是数字,但对于第二个操作,参数都是字符串。

所以它只是归结为如何采取从用户的输入,并将它们传递到控制器的动作。

感谢您的帮助大家:)

+0

有各种各样的解决方案在这里。你可以发布一些你的代码,所以我们可以更好地了解最好的解决方案吗? – Ben 2009-08-21 13:55:46

+0

请检查我的问题。我更新了更多的信息:)谢谢本 – b1gtuna 2009-08-21 15:11:36

回答

0

你可以提交表单到一个控制器动作,做的“这是需要采取行动的身份”,然后重定向到专用于传递的参数的动作。

我想在你的路由配置更先进的方法是添加“确定行动”的逻辑。

+0

好吧,我想我的问题是“如何提交表单到控制器”。对不起,我是一个新手xD – b1gtuna 2009-08-21 18:11:34

0

在有关如何将表单提交给一个控制器,一个简单的submit_to_remote(如果你想AJAX响应)或submit_tag(如果你想标准的HTTP响应)关于你的问题迪伦麦克朗

Submit To Remote

Submit Tag

相关问题