コントローラーのアクションでJSレスポンスとして.js.erb
テンプレートを使用する代わりにJSそれほど複雑でないなら、コマンドは望みます。例として:コントローラのアクションから部分的にレンダリングする方法(JS ERBなし、ユーザーは単にjs: "command_string"をレンダリングする)
respond_to do |format|
# Delete the row from the table containing this user
format.js{ render js: "$('#delete_#{user.id.to_i}').closest('tr').remove();" }
end
注:コントローラのアクションは、データベース操作を実行するために呼び出される必要があります。
これにより、コントローラーコードを汚すことなく、1行の.js.erb
ファイルを作成できなくなります。しかし、これを使って部分的にレンダリングしようとすると、私は単に成功していないだけです。例えば、.js.erb
ファイルで、私はこのようにそれを呼び出します。
$('#emailform').html("<%= raw j(render partial: 'admin/email_form') %>");
しかし、私のために動作しないコントローラから、このようなJSコマンドを使用しようとしています。私の推測では、それは文字列の連結の問題です。
私がしたいことは可能ですか?それを最初に欲しいのはいい考えですか?私は完全にあなたの質問を理解していないので、
コントローラでこれを意味しますか?レンダリングテンプレート: "admin/email_form"? – luissimo