0

次のようなurlオプションでform_forヘルパーを使用しています:

<%= form_for  @security_user, url: security_users_manage_securities_path(@security_user),
              html: { class: 'default', method: :put, id: 'security-default-form' } do |f| %>

しかし

security_users_manage_securities_path(@security_user)

次の文字列を返します。

/security_users_manage_securities.105

次のものが必要なとき:

/security_users_manage_securities/105

@security_user パラメーターの id が ' で連結されている理由がわからない人はいますか? ' 代わりに ' / '?

4

2 に答える 2

0

私はすでにこの問題に直面しています。

可能かもしれませんが、次のようなコレクションで「security_users_manage_security」のルートを定義しています

collection do 
  post :security_users_manage_securities
end
or 
post :security_users_manage_securities, :on => collection

ターミナルでコマンドを押すと、次のようなrake routes | grep security_users_manage_securitiesルートが見つかりますsecurity_users_manage_securities

controller_name/method_name(.:format)    controller_name#method_name

URL に引数を渡すオプションはありません。

パラメータでURLを作成する必要がある場合は、メンバーでURLを定義します。

この条件でもパラメーターを渡す必要がある場合は、次のように URL を定義します。

security_users_manage_securities_path(:user_id => @security_user)

URLは次のように生成されますcontroller_name/method_name?user_id = XXX

于 2014-03-17T16:40:00.353 に答える