1

「インデックス」ビュー (form_for なし) には、マルチステップ フォームのコントローラーに ID を渡したい link_to 行があります。

<%= link_to user.username, useredit_steps_path(:id => user.id)  %>

次の行を使用して、コントローラーでこの「id」を読み取ろうとします。

@user = User.find_by_id(params[:id])

ただし、常に「0」を値として取得します。これは間違っています。

私が間違っていることは何ですか?

より正確には:

申し訳ありませんが、これは役に立ちません。

ここに私の routes.rb ファイル FISneo::Application.routes.draw do resources :useredit_steps があります

resources :age_classes
resources :member_statuses
resources :flights
resources :aircrafts
resources :aircraft_classes
resources :takeoff_types


get "password_resets/new"
get "sessions/new"
get "users/new"

get "log_out" => "sessions#destroy", :as => "log_out"
get "log_in" => "sessions#new", :as => "log_in"
get "sign_up" => "users#new", :as => "sign_up"

resources :sessions
resources :password_resets

resources :users
resources :flight_types

root :to => "sessions#new"
end

URL は「.......:3000/useredit_steps.3」です。

ここで「3」は1人のユーザーのIDです...

前もって感謝します、ダーク

4

2 に答える 2

1

邪悪な readme から:

注: Wicked は :id パラメータを使用してステップの流れを制御します

つまり、上で行っている :id パラメータを上書きするものをルート ヘルパー メソッドに渡すことはできません。キーに別の記号を使用してみてください。これは、2 番目の引数として渡されるハッシュに含まれている必要があります (2 番目の引数でオプション ハッシュを提供するために、最初のウィザード ステップの ID を最初の引数として渡す必要があります)。 )。いえ

<%= link_to user.username, useredit_steps_path(:first_step, :user_id => user.id)  %>

:first_step は、ステップ配列の最初の要素に置き換えられます

次に、コントローラーで、次のように読み取ります

@user = User.find_by_id(params[:user_id])

申し訳ありませんが、今月前に見たり答えたりすることができませんでした。同様の問題を検索して質問を見つけました。ここに着陸する可能性のある他の人のために投稿する価値があると考えました.

于 2013-01-05T03:57:13.090 に答える
0
<%= link_to user.username, useredit_step_path(user.id)  %>

useredit_step_path特定のユーザーを表示する場合は、複数形ではなく単数形です。

于 2012-08-02T13:43:22.133 に答える