Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript escape`link_to`返回通过ajax发送的值_Javascript_Jquery_Ruby On Rails_Ruby - Fatal编程技术网

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 %>'