我想要使用jQuery .insertafter方法在表中動態插入一行。我有我的「create.js.erb」代碼如下:link_to方法導致jquery不加載js.erb
$("<tr><td><%= @work.id %></td><td><%= @work.user.lname %>, <%[email protected] %></td><td><%= link_to(@work.project.name, @work.project, 'data-no-turbolink' => true) %></td><td><%[email protected]%></td><td><%[email protected] %></td></tr>").insertAfter("tr#headerrow");
代碼工作完全正常,只要我不使用「的link_to」的方法。當我使用'link_to'時,它停止工作。
我厭倦了在'insertafter'方法之前添加警報。添加link_to甚至不會觸發警報。
頁面似乎沒有JavaScript錯誤呈現罰款。軌控制檯日誌看起來不錯:
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 281110143]]
Project Load (0.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."id" = ? LIMIT 1 [["id", 730774123]]
Rendered works/create.js.erb (3.0ms)
這是我打電話create.js.erb我的控制器代碼。 format.js {}調用create.js.erb。
def create
@work = Work.create(work_params)
respond_to do |format|
if @work.save
format.html {redirect_to @work, notice: 'Work Created'}
format.js { render content_type: 'text/javascript'}
else
format.html {render 'new'}
format.js {}
end
end
末
我厭倦了關於turbolinks堆棧溢出,並且該解決方案沒有幫助。
Rails, javascript not loading after clicking through link_to helper
Rails 4: disable Turbolinks in a specific page
Using turbolinks in a Rails link_to
在此感謝您的幫助。
謝謝! Mike G
您的'create.js.erb'位於哪裏? – JTG
@JTG - create.js.erb位於views/works目錄中 –
使用Chrome,打開開發人員工具並單擊Network面板。在您的應用中執行觸發要插入的新行的操作。在「網絡」面板中,單擊與該請求對應的請求名稱,然後查看「響應」。查看link_to生成的html是否導致無效的js語法。在您的問題中發佈生成的回覆 – jemminger