mojej konfiguracji: Szyny 3.0.9 Ruby 1.9.2, jQuery 1.6.2jQuery Post Szyny
Mam formularz, który pokazuje wiele zdjęć i komentarzy dla użytkownika i pragnę realizować inline komentowania.
<div id="newsfeed">
<div>
<div class="photo_title">Summer 2011</div>
<div class="newsfeed_photo">
<a href="..." /></a>
</div>
<textarea class="comment_box">Write a comment...</textarea>
</div>
<div>
<div class="comment_title">Seeing a movie</div>
<textarea class="comment_box">Write a comment...</textarea>
</div>
Chcę przesłać stanowisko AJAX po naciśnięciu klawisza Enter w polu tekstowym. Oto javascript (niekompletny), że mam tak daleko
$('#newsfeed').delegate('.comment_box', 'keydown', function (event){
event.preventDefault();
$.post('/sub_comments', ...);
});
Używam metody delegate
<div id='newsfeed'>
ponieważ zawartość może być zastąpiony innym wywołania AJAX. Potrzebuję składni dla metody jQuery post
przy założeniu, że muszę przekazać pewne parametry formularza, jak np. photo_id
itd. Załóżmy, że mam sposób dostępu do wartości dla params, jaka jest składnia wywołania post
tworzenia params way szyny oczekiwać im
Oto standardowe szyny bity
sub_comments_controller.rb
def new
@sub_comment = SubComment.new
respond_to do |format|
format.html # new.html.erb
format.js
end
end
również nie chcę użyć zwykłej <%= form_for(@sub_comment, :remote => true) do |f| %>
dla każdego komentarza inline mógłbym dodać. Spojrzałem też na numer Ryana Batesa railscast, ale kod wygląda na przestarzały.
zechciałby pan wyjaśnić, dlaczego zdecydowałeś się nie używać 'respond_to' blok proszę? Dziękuję Ci! –
Bardzo pomocny, zaoszczędziłeś mój czas, @ cmpolis, bardzo dziękuję –
@MarioZigliotto Zrobił to tylko dlatego, że jest krótszy do napisania. Konsekwencją jest to, że nie może renderować html w tym działaniu, tylko json. – DonPaulie