我一直在与此作斗争一段时间,无法弄清楚我做错了什么。我只是想发送一个简单的ajax请求来获取模态的详细信息。
Ajax Call:
$('.invite-button').on('click', function() {
var path = $(this).data('path');
$.get(path).success( function(response) {
console.log(response);
});
});
控制器操作:
def invite_details
@user = User.find(params[:id])
@campaigns = current_user.campaigns
respond_to do |format|
format.js {}
end
end
invite_details.js.erb:
$('.invite-modal').html("<%= j render partial: 'users/invite', locals: {campaigns: @campaigns} %>")
_invite.html.erb:
<h1> Hello! </h1>
<ul>
<% campaigns.each do |campaign| %>
<li><%= campaign.title %></li>
<% end %>
</ul>
服务器日志:
Started GET "/users/8/invite_details" for 127.0.0.1 at 2014-09-30 10:06:43 -0400
Processing by UsersController#invite_details as */*
Parameters: {"id"=>"8"}
User Load (0.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
Transaction Load (0.6ms) SELECT "transactions".* FROM "transactions" WHERE "transactions"."brand_id" = 1
Rendered users/invite_details.js.erb (0.1ms)
SQL (2.4ms) UPDATE "users" SET "last_activity_at" = '2014-09-30 14:06:43.484838' WHERE "users"."id" = 1
Completed 200 OK in 14ms (Views: 5.4ms | ActiveRecord: 3.7ms)
日志中的所有内容看起来都很好,除了它实际上并没有查询@user或@campaigns的数据库,并且它们在布局中是空的。我也尝试将binding.pry放入控制器操作中,但它不会运行。有什么想法吗?
谢谢!
答案 0 :(得分:0)
这是在这里或实际代码上的错误吗? li
中_invite.html.erb
标记内的代码未正确包装。它必须是这样的:
<h1> Hello! </h1>
<ul>
<% campaigns.each do |campaign| %>
<li><%= campaign.title %></li>
<% end %>
</ul>