2015-07-15 4 views
1

Я получил эту ссылкуизменение параметров link_to с помощью AJAX

<%= link_to "show replies", tweets_show_replies_path(:parent => tweet, active: false), method: :post, remote: true, class: "show-replies" %> 

и эту функцию в своих "твитов" контроллер

def show_replies 

    @parent = Tweet.find(params[:parent]) 
    @tweet = Tweet.new 

    respond_to do |format| 
     format.html {render :nothing => true} 
     format.js 
    end 

end 

и это мой show_replies.js.erb

$('#tweet-<%= @parent.id %>').find('.replies').append(' <%=j render "tweets/replies" %> '); 

Мне нужно будет изменить "active "parametr to true и обновите его в моем файле erb. Но я не знаю, как читать параметры рельсов и менять их через ajax.

+0

Я не понимаю, что рельсы параметров вы нужно читать? Вам не нужно просто менять активную на true в файле .js.erb, когда вы показываете ответы (что может быть сделано через JQuery)? – RichardAE

+0

Можете ли вы включить в свой вопрос ** визуализированный html ** для своего 'link_to'? Это то, над чем будет работать javascript. Справочная версия рельсов на самом деле не имеет значения. –

+0

На самом деле я имею в виду изменить URL-адрес ссылки через Jquery (и вы можете использовать рельсы link_to helper в .js.erb). – RichardAE

ответ

3

Я бы дать ссылку идентификатор:

<%= link_to "show replies", tweets_show_replies_path(:parent => tweet, active: false), method: :post, remote: true, id: "tweet-#{tweet.id}-replies-link", class: "show-replies" %> 

Тогда сделать это в show_replies.js.erb изменить HREF:

$("#tweet-#{@parent.id}-replies-link").attr("href", "<%= tweets_show_replies_path(:parent => @parent, active: true) %>"); 
+0

oh, который отлично решает мою проблему :) –

+0

Рад, что я смог помочь! – RichardAE

Смежные вопросы