2012-05-12 16 views
0

IDをビューからコントローラに渡したいと思います。私はそれに名前をつけることによってそれを渡す方法を知っています::eid => @model["_id"]。そして、私はparams[:"_id"]を使ってコントローラでフェッチすることができます。Railsでビューからコントローラにidを渡す方法

しかし、URLは/create?:eid="1234"となります。しかし、私はこれが欲しい:create/1234。だから私は行うことができますどのように

  1. ビューで
  2. はどのようにコントローラにフェッチすること。

答えて

0

ルートについて学ぶのに時間を費やす必要があります。あなたがしたいことをするためのルートを定義する必要があります。あなたのビューで次に、あなたのconfig/routes.rb

match '/create/:eid' => 'underscored_name_of_controller_here#create', :as => :create 

、で

create_path(:eid => @model["_id"]) 

私はあなたのルートのパスはおそらくちょうど/create/:_idしかしにおけるそのより記述であるべきだということもお勧めしますあなたの質問に答える精神私はそれをそのまま残しました。

+0

ありがとうございました。出来た。 – Sara

0

これはcustom route、のようなものが必要になります:それはcreateアクションにルーティングのparamsを追加するには珍しい、と述べ

post "/create/:eid" => "my_controller#my_action" 

を。典型的な方法は、アクションにサブミットするフォームに非表示の入力を追加することです。

+0

ありがとうございます。出来た。 – Sara

関連する問題