使用Rails生成的URL提供AJAX

时间:2016-03-16 12:01:41

标签: ruby-on-rails ajax

我可以为AJAX提供Rails URL /路径吗?

例如,我需要的是url: articles/1/comments/1。 由于我在一段时间内遇到困难,现在让AJAX执行此URL,我想知道是否有办法使用我熟悉[comment.article, comment]的Rails路由。

注意:

我正在使用AJAX加载DIV:

#welcome/index.haml
- @articles.each do |article|
   = article.title
   - article.comments.each do |comment|
     %comment-content{ :id => "comment-#{ comment.id } %>", :class => "comment-content", "data-comment-id" => comment.id }

AJAX:

  var loadComment = function() {
  return $('.comment-content').each(function() {
    var comment_id = $(this).data('comment-id');
    return $.ajax({
      url: "" ,
      type: 'GET',
      dataType: 'script',
    });
  });
};

2 个答案:

答案 0 :(得分:0)

Rails在表单中提供数据远程属性。它的工作方式类似于AJAX,它使用了你在表单中添加的url

你可以像下面这样使用它:

<%= form_for([comment.article, comment], remote: true) do |f| %>
  ...
<% end %>

答案 1 :(得分:0)

你可以使用

<%= form_for([comment.article, comment], remote: true) do |f| %>
  ...
<% end %> 

如果您使用的是form_for,或者您想发送ajax,请执行以下操作:

$.ajax({

})

然后你可以使用

$.ajax({
 url : "<%= url_for article_comment_path(article, comment)%>"

})