Мои настройки: Rails 3.0.9, Ruby 1.9.2, jQuery 1.6.2
У меня есть форма, которая показывает несколько фотографий и комментариев для пользователя, и я хочу реализовать встроенное комментирование.
<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>
Я хочу отправить сообщение AJAX, когда пользователь нажмет клавишу ввода в поле textarea.Вот javascript (неполный), который у меня есть до сих пор
$('#newsfeed').delegate('.comment_box', 'keydown', function (event){
event.preventDefault();
$.post('/sub_comments', ...);
});
Я использую метод delegate
, поскольку содержимое <div id='newsfeed'>
может быть заменено другим вызовом AJAX.Мне нужен синтаксис для метода jQuery post
, предполагающий, что мне нужно передать некоторые параметры формы, такие как скажем photo_id
и т. Д. Предположим, у меня есть способ доступа к значениям для параметров, каков синтаксис для post
вызов создания параметров так, как их ожидает Rails
Вот стандартные биты Rails
sub_comments_controller.rb
def new
@sub_comment = SubComment.new
respond_to do |format|
format.html # new.html.erb
format.js
end
end
Также я не хочу использовать обычный <%= form_for(@sub_comment, :remote => true) do |f| %>
для каждого встроенного комментария, который я мог быдобавлять.Я также взглянул на railscast Райана Бейтса, но код выглядит устаревшим.