Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Rails充当可编程ajax不工作_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Jquery Rails充当可编程ajax不工作

Jquery Rails充当可编程ajax不工作,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我已经实现了acts_as_votable gem,它似乎工作正常。但是我试图让按钮与ajax一起工作,控制台说我在put方法上遇到了500个错误。另外,我也不确定该放什么来渲染新图像。你知道我遗漏了什么吗 这是我的控制器: routes.rb 看法 upvote.js.erb 服务器日志 把按钮放进它自己的部分使事情变得容易多了 媒体/_media.html.erb media/_favorite.html.erb media/upvote.js.erb 进行ajax调用的代码在哪里?@dre

我已经实现了acts_as_votable gem,它似乎工作正常。但是我试图让按钮与ajax一起工作,控制台说我在put方法上遇到了500个错误。另外,我也不确定该放什么来渲染新图像。你知道我遗漏了什么吗

这是我的控制器:

routes.rb

看法

upvote.js.erb

服务器日志


把按钮放进它自己的部分使事情变得容易多了

媒体/_media.html.erb

media/_favorite.html.erb

media/upvote.js.erb


进行ajax调用的代码在哪里?@dreamweiver I have:remote=>true位于链接上,format.js位于控制器上的方法上。请将服务器日志添加为well@IshankGupta我用服务器日志更新了这个问题您在upvote js erb中嵌入的j变量是什么?
def upvote
    @medium = Medium.find(params[:id])
    if current_member.voted_up_on? @medium
      @medium.unliked_by current_member
    else 
      @medium.liked_by current_member
    end
    respond_to do |format|
        format.html { redirect_to :back }
        format.js
    end
end
resources :media do
    member do
      put "favorite", to: "media#upvote"
    end
end
<div class="actions_act">
    <span id="comment_act_btn media_buttons">
        <% if current_member.voted_up_on?(medium) %>
      <%= link_to image_tag("Favorite 3.png", class: "act_actions", title: "Comments", alt: "Comments") + 'Favorite', favorite_medium_path(medium), method: :put, :remote => true, :class => "btn favorite" %>
        <% else %>
      <%= link_to image_tag("Favorite 5.png", class: "act_actions", title: "Comments", alt: "Comments") + 'Favorite', favorite_medium_path(medium), method: :put, :remote => true, :class => "btn favorite" %>
        <% end %>
    </span>
</div>
$("#comment_act_btn").html("<%= j  %>");
Started PUT "/activities/4/favorite" for 127.0.0.1 at 2014-02-13 14:23:47 -0600
Processing by ActivitiesController#upvote as JS
  Parameters: {"id"=>"4"}
    [1m[36mMember Load (1.0ms)[0m  [1mSELECT "members".* FROM "members" WHERE "members"."id" = 1 LIMIT 1[0m
    [1m[35mActivity Load (0.0ms)[0m  SELECT "activities".* FROM "activities" WHERE "activities"."id" = ? LIMIT 1  [["id", "4"]]
    [1m[36m (0.0ms)[0m  [1mSELECT COUNT(*) FROM "votes" WHERE "votes"."voter_id" = 1 AND "votes"."voter_type" = 'Member' AND "votes"."votable_id" = 4 AND "votes"."votable_type" = 'Activity' AND "votes"."vote_scope" IS NULL AND "votes"."vote_flag" = 't'[0m
    [1m[35m (0.0ms)[0m  SELECT COUNT(*) FROM "votes" WHERE "votes"."votable_id" = 4 AND "votes"."votable_type" = 'Activity' AND "votes"."voter_id" = 1 AND "votes"."vote_scope" IS NULL AND "votes"."voter_type" = 'Member'
    [1m[36m (1.0ms)[0m  [1mbegin transaction[0m
    [1m[35mSQL (2.0ms)[0m  INSERT INTO "votes" ("created_at", "updated_at", "votable_id", "votable_type", "vote_flag", "vote_scope", "vote_weight", "voter_id", "voter_type") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)  [["created_at", Thu, 13 Feb 2014 20:23:47 UTC +00:00], ["updated_at", Thu, 13 Feb 2014 20:23:47 UTC +00:00], ["votable_id", 4], ["votable_type", "Activity"], ["vote_flag", true], ["vote_scope", nil], ["vote_weight", 0], ["voter_id", 1], ["voter_type", "Member"]]
    [1m[36m (127.0ms)[0m  [1mcommit transaction[0m
    Rendered activities/upvote.js.erb (3.0ms)
Completed 500 Internal Server Error in 151ms

ActionView::Template::Error (wrong number of arguments (0 for 1)):
    1: $("#comment_act_btn").html("<%= j  %>");
  app/views/activities/upvote.js.erb:1:in `_app_views_activities_upvote_js_erb__413243720_47347896'
  app/controllers/activities_controller.rb:41:in `upvote'
<span id="med_fav_<%= medium.id %>_<%= medium.member.id %>">
    <%= render :partial => "media/favorite", :locals => {:medium => medium} %>
</span>
<% if medium.votes.size > 0 && medium.votes.size <= 99 && current_member.voted_up_on?(medium) %>
  <%= link_to favorite_medium_path(medium), remote: true, method: :put, :class => "btn favorite" do %>
      <%= image_tag("Favorite 3.png", class: "act_actions", title: "Unfavorite", alt: "Unfavorite") %><%= medium.votes.size %>
  <% end %>
<% elsif medium.votes.size > 99 && current_member.voted_up_on?(medium) %>
  <%= link_to image_tag("Favorite 3.png", class: "act_actions", title: "Unfavorite", alt: "Unfavorite") +'99+', favorite_medium_path(medium), remote: true, method: :put, :class => "btn favorite" %>
<% elsif medium.votes.size > 0 && medium.votes.size <= 99 %>
  <%= link_to favorite_medium_path(medium), remote: true, method: :put, :class => "btn favorite" do %>
      <%= image_tag("Favorite 5.png", class: "act_actions", title: "Favorite", alt: "Favorite") %><%= medium.votes.size %>
  <% end %>
<% elsif medium.votes.size > 99 %>
  <%= link_to image_tag("Favorite 5.png", class: "act_actions", title: "Favorite", alt: "Favorite") +'99+', favorite_medium_path(medium), remote: true, method: :put, :class => "btn favorite" %>
<% else %>
  <%= link_to image_tag("Favorite 5.png", class: "act_actions", title: "Favorite", alt: "Favorite"), favorite_medium_path(medium), remote: true, method: :put, :class => "btn favorite" %>
<% end %>
$("#med_fav_<%= @medium.id %>_<%= @medium.member.id %>").html("<%= escape_javascript(render :partial => 'media/favorite', :locals => {:medium => @medium}) %>");