3
私はタイトルと説明を持つ投稿と呼ばれる足場を持っています。私のレイアウトでは、新しい投稿を作成するためのリンクがあります:remote => true。そのリモートリンクをクリックしてdivのコンテンツを変更して新しい投稿を作成できるようにするにはどうしたらいいですか?Rails 3.1 Ajaxの質問
私はタイトルと説明を持つ投稿と呼ばれる足場を持っています。私のレイアウトでは、新しい投稿を作成するためのリンクがあります:remote => true。そのリモートリンクをクリックしてdivのコンテンツを変更して新しい投稿を作成できるようにするにはどうしたらいいですか?Rails 3.1 Ajaxの質問
使用するアクションをnew
としましょう。 フォームをリモートで投稿するときにレンダリングされるビュー/投稿にnew.js.erb
というファイルを作成する必要があります。そのファイルには、新しい投稿を埋めたいdivに配置するjavascriptが含まれている必要があります。例として、含まれる可能性があります
# new.js.erb
$('div#container').html("<p><%= escape_javascript(@post.title) %></p>").append("<p><%= escape_javascript(@post.content) %></p>");
JavaScriptは、ajax投稿が完了して新しい投稿が作成された直後に実行されます。次のことを覚えておいてください: - あなたはjQueryの を含める必要があります - あなたはposts_controllerでの.js形式をレンダリングする機能を指定する必要があり、
# posts_controller.erb
def create
@post = Post.new(params[:post])
respond_to do |format|
if @post.save
format.html { redirect_to(@post, :notice => 'Post created via non AJAX.') }
format.js # the actual ajax call
else
format.html { render :action => "new" }
end
end
end
のようなものを