ajax/js 経由でフォームを送信しようとしています。:remote => true を設定しても、html 経由で送信されます。
<%= form_for(@message), :remote => true, do |f| %>
<%= f.label :Note_To_Doctor %>
<%= f.text_field :note %>
<%= f.collection_select(:physician_id, Physician.all, :id, :physician_name )%>
<%= f.button :send, :class => 'btn btn-info' %>
<% end %>
私はこのようにそれをしたと誓うことができました。create.js.erb を作成する必要がありますか? もしそうなら、その中に何を入れるべきですか? また、応答ブロックとして作成アクション内に何を配置すればよいですか?
コントローラ:
def create
@message = Message.new(params[:message])
if @message.save
MessageMailer.paging(@message).deliver
respond_to do |format|
format.html { redirect_to messages_path, flash.notice = "Message was sent" }
format.js { render "index" }
end
else
@message = Message.new(params[:message])
end
end
index.js.erb
$("#messages").html("<%= escape_javascript render("messages") %>");