あなたはAJAXフォームを探しているようです。レールでは、form_for ... remote:trueでこれを生成できます。これは、ページをリフレッシュせずにコントローラメソッドを呼び出すことができます。その後、レスポンスを返してJSを使用して、ユーザーがいるページを更新できます。あなたのビューで
<div class="hidden">
<%= from_for @category, remote:true %>
Your form here
<% end %>
</div>
があなたのボタンがクリックされたフォームを非非表示にするには、いくつかのJavaScriptで追加例えば
、。レールのデフォルトf.jsを使用して、コントローラ
def create
#normal create stuff
if save
respond_to do |f|
f.js
f.html {#re render page just in case JavaScript is disabled}
end
else
#handle error
end
end
では、Railsは、インスタンス@categoryのために、あなたが作る任意のパブリック変数にアクセスする必要があります。このファイルcreate.js.erbファイルを呼び出します。
あなたが
$('.append_category').append('<%= j render 'your category layout partial', locals: { category: @category }%>');
の線に沿って気にいらを行うことができますかあなただけのカテゴリリンク
$('.append_category').append('<%= link_to @category %>');
が必要な場合は、非常に素晴らしいガイドはこちらhttp://guides.rubyonrails.org/working_with_javascript_in_rails.html
ノートを見つけることができます:あなたのバージョンのレールに応じて、あなたのapplication_controller.rbにInclude ActionController :: MimeRespondsを追加する必要があります(これはレール5に必要です)
ありがとうございます。私はそれを使用しようとします –