おはようございます。
Railsで、 <%= link_to 'hoge', { action: :act }, remote: true %>
のように remote:true
を指定することで、actionと同名のjsファイルが実行されますが、それと同じことが、呼び出し側が ajax の場合、可能でしょうか?
以下のように、 url: "<%= ctl_act_path %>.js",
と拡張子 js
を指定してもダメでした。
呼び出し側のajaxコード(html.erbの一部)
$.ajax({ url: "<%= ctl_act_path %>.js", type: "GET", dataType: "text", data: { data_type: data_type }, success: function(data){ } });
ctl_controller.rb
class JobsController < ApplicationController def act end end
act.js.erb
console.log("hello world!");
もちろん、JSONやHTMLのレスポンスは上手く行きます。
- JSON:ajaxで拡張子jsを指定せず、dataTypeをjsonとする。
action側で render :json => hoge
ナドとする
- HTML:ajaxで拡張子jsを指定せず、dataTypeをhtmlとする。
action側で ender layout: false
とし、act.html.erbファイルを用意する
あなたの回答
tips
プレビュー