0

フォームを作成していますが、コンテンツ コントローラーに到達するときに params[:id] が欠落しているようです。

これは私のroutes.rbです:

match '/site/content/myaction/:id', :to => 'contents#myaction'

フォームは、部分的な _edit.html.erb にある「myaction」です。

<%= form_tag :action => 'myaction' do %>
    <input id="old_id" name="myaction_name" type="text" />
    <%= submit_tag 'Submit' %>
<% end %>

フォームを送信する前: [/site/content/edit/:id/ 送信] をクリックすると、エラー ページが表示されます: /site/content/myaction/

コンテンツコントローラーでmyactionに到達しますが、idがnullであるというエラーが表示されます...そしてここにパラメーターがあります:

{"utf8"=>"✓",
 "old_id"=>"2",
 "commit"=>"Submit",
 "id"=>nil}

私は何が欠けていますか?多分それは私のルートを選んでいないようですか?他にどのようにリダイレクトしていますか...

どんな提案でも大歓迎です。

4

1 に答える 1

1

フォームの URL に ID を渡す必要があります。

form_tag :action => 'myaction', :id => 5 do
于 2013-03-02T23:48:02.393 に答える