如何将 link_to 作为一个块进行插值
How to interpolate link_to as a block
我正在尝试在一个将被多次调用的助手的插值中制作一个 link_to 块(link_to 与 do),所以我只想让这段代码在我的项目。但是当我尝试执行下面的代码时,我得到了错误 "Unexpected keyword class, expecting keyword_do or '{' or '('" 所以我不知道该怎么做或者是否可行。 link_to 块位于一些 html 代码之间,并且与它连接在一起,这就是为什么我需要底部的 html_safe。
def example_helper_method()
example_string = ""
example_string += "SOME HTML ..."
example_string += "#{ link_to edit_foo_url(param1, param2, param3: 1) do }"
example_string += "<button class='btn btn-small #{foo_method(1)}' type='button'>Example</button>"
example_string += "#{end}"
example_string += "SOME HTML ..."
return example_string.html_safe
end
这是我在视图中调用此方法的地方
<%= example_helper_method() %>
谢谢:D
link_to
returns 一个字符串那么为什么你需要所有的插值?您想要将第二个字符串从里到外翻转并移动 html_safe
调用,但像这样应该可以解决问题:
def example_helper_method()
example_string = ''
example_string += "SOME HTML ..."
example_string += link_to edit_foo_url(param1, param2, param3: 1) do
"<button class='btn btn-small #{foo_method(1)}' type='button'>Example</button>".html_safe
end
example_string + "SOME HTML..."
end
link_to
应该返回一些已经 HTML 安全的东西,所以你不需要 html_safe
它 returns 的东西。当您在字符串中构建 HTML 时,您确实希望在块内进行 html_safe
调用。您可能需要也可能不需要 html_safe
调用 SOME HTML
字符串,具体取决于实际存在的内容。
我正在尝试在一个将被多次调用的助手的插值中制作一个 link_to 块(link_to 与 do),所以我只想让这段代码在我的项目。但是当我尝试执行下面的代码时,我得到了错误 "Unexpected keyword class, expecting keyword_do or '{' or '('" 所以我不知道该怎么做或者是否可行。 link_to 块位于一些 html 代码之间,并且与它连接在一起,这就是为什么我需要底部的 html_safe。
def example_helper_method()
example_string = ""
example_string += "SOME HTML ..."
example_string += "#{ link_to edit_foo_url(param1, param2, param3: 1) do }"
example_string += "<button class='btn btn-small #{foo_method(1)}' type='button'>Example</button>"
example_string += "#{end}"
example_string += "SOME HTML ..."
return example_string.html_safe
end
这是我在视图中调用此方法的地方
<%= example_helper_method() %>
谢谢:D
link_to
returns 一个字符串那么为什么你需要所有的插值?您想要将第二个字符串从里到外翻转并移动 html_safe
调用,但像这样应该可以解决问题:
def example_helper_method()
example_string = ''
example_string += "SOME HTML ..."
example_string += link_to edit_foo_url(param1, param2, param3: 1) do
"<button class='btn btn-small #{foo_method(1)}' type='button'>Example</button>".html_safe
end
example_string + "SOME HTML..."
end
link_to
应该返回一些已经 HTML 安全的东西,所以你不需要 html_safe
它 returns 的东西。当您在字符串中构建 HTML 时,您确实希望在块内进行 html_safe
调用。您可能需要也可能不需要 html_safe
调用 SOME HTML
字符串,具体取决于实际存在的内容。