【发布时间】:2013-01-25 15:47:10
【问题描述】:
我正在尝试让 Ajax 调用在 Rails 中工作,但不太确定我做错了什么
所以在我的索引中,我有一个调用 api 然后将结果返回到结果路径的表单。所以我想做的是让结果呈现在索引页面上
我目前拥有的是
控制器
def index
end
def results
results = contact_search(params[:search])
@results = results
end
索引
<div class="container">
<div class="row">
<div class="span6 offset3">
<h2>Search for a contact</h2>
<%= form_tag results_path, :method => "get", :remote => true do %>
<%= text_field_tag 'search', nil, :placeholder => "Enter Email Address here...." %>
<%= submit_tag 'Search' , :id => "submitForm" %>
<% end %>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="span6 offset3">
<div class="cResults">
</div>
</div>
</div>
</div>
部分_contactResults.html.erb
<h1>The Results</h1>
<%= @results["contactInfo"]["familyName"] %><br>
<img src= <%= @results["photos"].first["url"] %> />
Index.js.erb
$('.cResults').html("<%= escape_javascript(render partial: 'contactResults') %>");
我错过了什么吗?
【问题讨论】:
-
我觉得js文件应该是
results.js.erb,为什么?因为index.js.erb在控制器收到index action上的JS格式请求时被“执行”了。 -
是的,这行得通,所以规则是为要通过 Ajax 拉入的视图创建一个 js.erb 文件?
-
你愿意把它作为答案吗,我很乐意接受
-
我刚刚发布了一个包含更多细节的答案
标签: ruby-on-rails ajax ruby-on-rails-3