0

既存の Rails 3.1 アプリに Ajax を実装しています。私はSamnang Chhun の優れたチュートリアルと比較しています - 彼の作品は私のものではありません。

これは私の link_to です:

<%= link_to('Do some Ajax!', @activity, :remote => true) %>

これは私のコントローラーです:

class ActivitiesController < ApplicationController

  respond_to :html, :js

  # ...

  def show
    @activity = Activity.find(params[:id])
    respond_with @activity
  end

  # ...

end

私のviews/activitiesフォルダには ashow.html.erbと a の両方が含まれていますshow.js.erb

更新:これは私の含まれている JavaScript ファイルです:

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/activities.js?body=1" type="text/javascript"></script>
<script src="/assets/add2home.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.dropdownPlain.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>

クリックすると、ページが更新され、そのままの HTML 要求が表示されます。これは、サーバー出力によっても検証されます (2 行目を参照)。

Started GET "/activities/18-leka-titta-pa-mig" for 127.0.0.1 at 2013-03-13 20:58:43 +0100
  Processing by ActivitiesController#show as HTML
  Parameters: {"id"=>"18-leka-titta-pa-mig"}
  Activity Load (0.4ms)  SELECT "activities".* FROM "activities" WHERE "activities"."id" = $1 LIMIT 1  [["id", "18-leka-titta-pa-mig"]]
WEBSITE: Babycenter.com
  Tag Load (0.8ms)  SELECT "tags".* FROM "tags" INNER JOIN "taggings" ON "tags"."id" = "taggings"."tag_id" WHERE "taggings"."taggable_id" = 18 AND "taggings"."taggable_type" = 'Activity'
Rendered layouts/_footer.html.erb (0.6ms)
Rendered activities/show.html.erb within layouts/application (63.4ms)
Rendered layouts/_facebook_sdk.html.erb (0.1ms)
Rendered activities/_filter_tabs.html.erb (3.1ms)
Completed 200 OK in 107ms (Views: 79.8ms | ActiveRecord: 21.6ms)

私は何を間違っていますか?

4

2 に答える 2

0

私は偶然に問題を見つけました。古い JavaScript スニペットを使用して iOS Safari を無効にし、新しいウィンドウでリンクを開くことが判明しました。このスクリプトは、Ajax を実行する Rails 3 の方法と互換性がありませんでした。

スクリプトをiPhone Safari Web Appの最新のものに置き換えると、新しいウィンドウでリンクが開きます。動作するようになりました。

于 2013-03-16T12:48:49.710 に答える
0

jquery UJS フックを探している - https://github.com/rails/jquery-ujs

于 2013-03-13T21:20:45.180 に答える