1

私は検索をあきらめています。通常、これらのことを自分で理解しようとしますが、一生懸命苦労していて、これが機能することを望んでいます

@puser が現在表示しているプロファイルのユーザーである link_to を以下に示します。

<%= link_to 'Request', new_or_edit_relationship_path(nil), :remote => true, :locals => { :puser => @puser} %>

これは、次に示す .js.erb ファイルである new_relationship_path を呼び出します。

alert("<%= escape_javascript(puser.id) %>")

なぜこれが機能しないのですか!? puser 変数またはメソッドが未定義であると言っています。これは、ローカルで部分的なパスをレンダリングするだけの場合は完璧に機能しますが、そうではありません。Javascript はうまくプレイしたくない

私やプログラムが愚かである理由を説明できる人はいますか?

4

1 に答える 1

1

link_toasを実行するとremote、ユーザーはリンクをクリックしたときにまったく新しいリクエストを開始します。したがって、aを渡すことlocalは、新しい要求には何の意味もありません。(local新しいリクエストにはもう存在しません。)

したがって、が新しいリクエストに存在するためには、URLを介してその@puserリクエストを渡す必要があります(何をしている場合でも)。新しいリクエストはそれによってを検索する必要があり、それからJSでそれを使用できます。id@pusernew_or_edit_relationship_pathpuseridalert()

それが助けになり、泥よりも少しはっきりしていることを願っています。

于 2012-09-09T19:14:39.250 に答える