質問: UJS - js.erbはどこに置くのですか? 私の記事は、いくつかのサイトに表示されるので、title、bodyなどの記事モデル、site_id、site_nameなどのサイトモデルも表示できます。article_id、site_id、visibleのいずれかのarticle_site_permissionモデルがあります。偽です。 私の記事編集ページで、私はbutton_toをやった: ``` <%= button_to 'Hide', article_site_permission_path(:id => @article_site_permission_id, :article_site_permission => {:visible => "false"}), :method => :put %> ``` これは動作します - それは許可を偽に変更します。そして、その逆を行うShowボタンを表示することができます。 Now I want to refresh the div that has the button in it by adding `:remote => true` to the button link. But where do I put my javascript? article_site_permissionビューにありますか?記事自体のビューを見ていますが? update.js.erbと呼ばれていますか? ご協力いただきありがとうございます。 --- 明確にするために更新してください。 私のボタンは記事/編集ページにあります。ボタンはarticle_site_permissionsを更新します。私は記事に戻る/編集し、その中にボタンを持っているdivをリフレッシュしたい。 article_site_permissionsの更新コントローラを編集する必要がありますが、divを更新するにはjsをどこに配置しますか?
回答: あなたのコントローラでは、あなたが望むアクション(インデックス、ショーなど)にリダイレクトします。 〜を行う ``` respond_to do |format| format.js end ``` あなたのコントローラーのそのアクションの下で。次に、対応するビューで、 ``` index.js.erb ``` または、indexを任意のアクションに置き換えて、それを呼び出すアクションと同じ名前を付けるようにしてください。 **編集** I should also mention you are correct in adding the remote true to your button. It's hard to tell from your question what action you're trying to reach in which controller. If you're trying to access the show action of the ArticleSitePermission controller, you're doing well. However, it seems like you're not trying to route to show. Check out this link for more info on routing to different actions. **編集2** これはそれを行う必要があります。 ``` <%= link_to 'Click me', {:controller => "article", :action => "update", :id => @article_site_permission_id }, :remote => true %> ``` また、記事にリダイレクトするだけであれば、jsを実行する必要はありません。記事#へリダイレクトするだけです