远程:如果link_to与params

时间:2015-05-28 12:50:33

标签: javascript ruby-on-rails

我有以下问题

我有link_to

//_sort_by.html.erb
 <%= link_to "sort", :sort_by => "things", remote: true %> 

在我的控制器中,我有根据sort_by

选择帖子的功能
def show_posts    
    @category=Category.find_by(name: params[:sort_by])

    if(@category)

    @posts=Post.where(category_id: @category)

    respond_to do |format|
      format.js  
      format.html
    end

    else
      @posts=Post.all
    end
 end

和观点

   //show_posts.html.erb
       <div class="posts">
                      <%= render @posts %> 
       </div>
   // 
   and I have _post.html.erb

它运行正常(显然没有远程:true),但每当我更改帖子类别时它会刷新网站 在show_posts.js.erb中我想只刷新class =&#34;帖子&#34;,如

  $('.posts').load(location.href + " .posts");

在routes.rb中,我得到了show_posts&#39;。但不幸的是,它不起作用。有人能帮助我吗?

编辑:  将show_posts.js.erb更改为

  $('.posts').html("<%= j render @posts %>");

的工作原理。谢谢大家的提示!

2 个答案:

答案 0 :(得分:2)

 $('.posts').append("<%= escape_javascript render(:partial => 'posts') %>");

使用这些内容更改show_posts.js.erb。

答案 1 :(得分:1)

试试这个

$('.posts').html("<%= j render 'post' %>");

希望这有帮助!