2009-08-21 4 views
1

コントローラには3つのアクションがあります。それぞれは異なる数のパラメータを取ります。 アプリケーションでは、3つすべてがリンクをクリックして実行されます。 ここでは、ユーザーが探しているものを簡単に入力できるフィールドをいくつか用意してフォームを作成する必要があります。ユーザーがフォームに記入すると、3つのアクションの1つが実行されなければなりません。ユーザからの入力を受け取り、Railsで異なるアクションを実行する

要するに、フォームから文字列を取り出し、必要なアクションを特定し、3つのアクションの1つにパラメータとして渡す必要があります。

は申し訳ありませんが、私は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" %> 

あなたは「がNPA」アクションを起動する最初のリンクをクリックして言って、あなたは再び次のコードによって生成されたリンクのリストが表示されます:イン

<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'に渡されます。

私が達成する必要があるのは、上記と同じですが、フォームフィールドからパラメータを取得します。

ユーザーが提供するパラメータによっては、実行する必要のあるアクションをアプリケーションに決定させることができます。たとえば、上記のアクションのパラメータはすべて数値ですが、2番目のアクションのパラメータはすべて文字列です。

これで、ユーザーからの入力をどのようにしてコントローラのアクションに渡すかについて説明します。ヘルプ皆のため

感謝:)あなたはその後、渡されたパラメータに特定のアクションにリダイレクト「アクションが必要とされているアイデンティティ」を、ないコントローラのアクションにフォームを送信することができ

+0

ここにはさまざまな解決策があります。コードの一部を投稿して、最良の解決策を知ることができますか? – Ben

+0

私の質問をチェックしてください。私は多くの情報を更新:)ありがとうBen – b1gtuna

答えて

0

私はより高度なアプローチは、あなたのルーティング設定で 'アクションを特定する'ロジックを追加すると思います。 (あなたは、標準のHTTPレスポンスを望んでいた場合)、コントローラ、シンプルsubmit_to_remote(あなたはAJAXの応答を望んでいた場合)、またはsubmit_tagにフォームを送信する方法についてディランマックラングへのご質問に関しては

+0

私の問題は、 "コントローラにフォームを送信する方法です"と思う。申し訳ありません、私は初心者xDです – b1gtuna

関連する問題