Javascript escape`link_to`返回通过ajax发送的值
以下是我的助手函数:Javascript escape`link_to`返回通过ajax发送的值,javascript,jquery,ruby-on-rails,ruby,Javascript,Jquery,Ruby On Rails,Ruby,以下是我的助手函数: def edit_and_delete_links_for(model) model_route_path = model.class.to_s.downcase if policy(model).update? links = link_to "Edit", self.send("edit_#{model_route_path}_path", model), class: 'btn btn-primary edit-btn'
def edit_and_delete_links_for(model)
model_route_path = model.class.to_s.downcase
if policy(model).update?
links = link_to "Edit", self.send("edit_#{model_route_path}_path", model), class: 'btn btn-primary edit-btn'
if current_user.admin?
links += link_to "Delete", self.send("#{model_route_path}_path", model), method: :delete, class: "btn btn-danger destroy-btn"
end
end
return links
end
我试图在ajax结果中使用它
next.json.rb
{
"library" : <%= ActiveModel::SerializableResource.new(@library).serializable_hash.to_json.html_safe %>,
"links": {
"language" : "<%= language_path(@library.language) %>",
"framework" : "<%= framework_path(@library.framework) %>"
},
"buttons": "<%= edit_and_delete_links_for(@library).to_s %>"
}
有没有办法逃避这一切。我尝试了
json\u escape
,但没有任何效果。我相信这个问题是因为它被标记为html安全的,但我还没有找到一种方法来消除它。在您的视图中调用方法的编辑链接和escape\u javascript
(或j
):
"buttons": "<%= j edit_and_delete_links_for(@library).to_s %>"
我无法在link\u to中转义它们,我尝试了使用',rails只是将它们替换为“@MHornbacher你可以为
方法共享编辑和删除链接吗?@MHornbacher我错了,你可以在视图中转义它们;检查更新的答案。
"buttons": "<%= j edit_and_delete_links_for(@library).to_s %>"
"buttons": '<%= edit_and_delete_links_for(@library).to_s %>'