Я пытаюсь отправить простую форму в Rails 3 для использования с плагином act_as_commentable.
#new_comment_box
#comment_input_box
= form_for :comment, :url => comments_path(commentable.class.to_s.underscore, commentable.id), :html => {:id => "new_comment"}, :remote => true do |f|
#share-input
= f.text_area :comment, :id => 'comment-input', :'data-text' => "Comment on this review...", :placeholder => "Comment on this review..."
.cancel
.clear
= f.submit 'Comment', :id => 'item-comment-submit', :class => "button"
.clear
Модель "Мой комментарий" имеет текстовый атрибут "комментарий", и
Мой контроллер довольно прост:
class CommentsController < ApplicationController
before_filter :load_commentable
def create
pp params[:comment]
@comment = @commentable.comments.build(params[:comment])
@comment.user = current_user
respond_to do |format|
if @comment.save
format.html {render :partial => 'comments/comment', :locals => {:commentable => @commentable, :comment => @comment}}
end
end
end
def destroy
@comment = @commentable.comments.find(params[:id])
@comment.destroy
respond_to do |format|
format.json {render :json => params[:id]}
end
end
protected
def load_commentable
@commentable = params[:commentable_type].camelize.constantize.find(params[:commentable_id])
end
end
Вот сгенерированный HTML:
<form accept-charset="UTF-8" action="/item/252/comments" data-remote="true" id="new_comment" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="cXgXwhXdMMV38Ye/fIVVrke8pH7iZE/iFY+z4oO2Szs=" /></div>
<div id='share-input'>
<textarea cols="40" data-text="Comment on this review..." id="comment-input" name="comment[comment]" placeholder="Comment on this review..." rows="20"></textarea>
<div class='cancel'></div>
</div>
<div class='clear'></div>
<input class="button" id="item-comment-submit" name="commit" type="submit" value="Comment" />
<div class='clear'></div>
</form>
и мои маршруты выглядят так:
POST /:commentable_type/:commentable_id/comments(.:format) {:action=>"create", :controller=>"comments"}
Тем не менее, когда я пытаюсь отправить эту форму, журнал рельсов не обнаруживает ничего отправляемого:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"cXgddasdMMV38Ye/fIVVrkdfsdpH7iZE/iFYsdfsdfz4oO2Szs=", "comment"=>{"comment"=>""}, "commit"=>"Comment", "commentable_type"=>"item", "commentable_id"=>"252"}
Кроме того, из firebug выглядит так, будто запрос даже не отправляет комментарии со страницы.
Может кто-нибудь сказать мне, что я делаю неправильно, и почему это не работает?
Спасибо