0

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

ただし、URLはになります/create?:eid="1234"。しかし、私はこれが欲しいです:create/1234。どうすればそれができますか

  1. ビューで
  2. コントローラにフェッチする方法。
4

2 に答える 2

0

これには、次のようなカスタム routeが必要です。

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

そうは言っても、 create アクションに route パラメータを追加するのは珍しいことです。典型的な方法は、アクションに送信するフォームに非表示の入力を追加するだけです。

于 2012-05-12T03:58:52.923 に答える
0

ルートについて少し時間をかけて学習する必要があります。やりたいことを実行するには、ルートを定義する必要があります。

あなたのconfig/routes.rb

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

次に、あなたの見解では:

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

また、ルートのパスはおそらくもっと説明的であるべきであることをお勧めします/create/:_idが、あなたの質問に答えるという精神で、そのままにしておきました。

于 2012-05-12T03:59:17.747 に答える