Ruby 如何将链接_插值为块

Ruby 如何将链接_插值为块,ruby,ruby-on-rails-4,ruby-on-rails-3.2,link-to,Ruby,Ruby On Rails 4,Ruby On Rails 3.2,Link To,我正试图在一个将被多次调用的助手的插值中创建一个link_to block(link_to with do),所以我只希望在我的项目中有一次这段代码。但是当我尝试执行下面的代码时,我得到了错误“意外的关键字类,期望关键字”或“{”或“(”,所以我不知道如何做,或者是否可能。块的链接是在一些html代码之间,并与之连接,这就是为什么我需要底部的html\u安全 def example_helper_method() example_string = "" example_string +=

我正试图在一个将被多次调用的助手的插值中创建一个link_to block(link_to with do),所以我只希望在我的项目中有一次这段代码。但是当我尝试执行下面的代码时,我得到了错误“意外的关键字类,期望关键字”或“{”或“(”,所以我不知道如何做,或者是否可能。块的链接是在一些html代码之间,并与之连接,这就是为什么我需要底部的html\u安全

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
def-example\u-helper\u-method()
示例_string=“”
示例_string+=“一些HTML…”
示例_string+=“#{链接_以编辑_foo_url(param1,param2,param3:1)do}”
示例\u字符串+=“示例”
示例_string+=“#{end}”
示例_string+=“一些HTML…”
返回示例\u string.html\u safe
结束
这里是我在视图中调用此方法的地方

<%= example_helper_method() %>


谢谢:D

link\u to
返回一个字符串,那么为什么需要所有的插值呢?您可能希望将第二个字符串翻过来,并将
html\u 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
def-example\u-helper\u-method()
示例_字符串=“”
示例_string+=“一些HTML…”
示例_string+=链接_以编辑_foo_url(param1,param2,param3:1)do
“示例”.html\u安全
结束
示例_string+“一些HTML…”
结束

link\u to
应该已经返回HTML安全的内容,这样你就不需要
HTML\u-safe
它返回的内容。当你在一个字符串中构建HTML时,你确实需要在块内调用
HTML\u-safe
调用。你可能需要,也可能不需要
HTML\u-safe
调用
一些HTML
字符串,这取决于你需要什么很好。

link\u to
返回一个字符串,那么为什么需要所有的插值呢?您希望将第二个字符串翻过来,并将
html\u 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
def-example\u-helper\u-method()
示例_字符串=“”
示例_string+=“一些HTML…”
示例_string+=链接_以编辑_foo_url(param1,param2,param3:1)do
“示例”.html\u安全
结束
示例_string+“一些HTML…”
结束

link\u to
应该已经返回HTML安全的内容,这样你就不需要
HTML\u-safe
它返回的内容。当你在一个字符串中构建HTML时,你确实需要在块内调用
HTML\u-safe
调用。你可能需要,也可能不需要
HTML\u-safe
调用
一些HTML
字符串,这取决于你需要什么很好。

link\u to
返回一个字符串,那么为什么需要所有的插值呢?您希望将第二个字符串翻过来,并将
html\u 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
def-example\u-helper\u-method()
示例_字符串=“”
示例_string+=“一些HTML…”
示例_string+=链接_以编辑_foo_url(param1,param2,param3:1)do
“示例”.html\u安全
结束
示例_string+“一些HTML…”
结束

link\u to
应该已经返回HTML安全的内容,这样你就不需要
HTML\u-safe
它返回的内容。当你在一个字符串中构建HTML时,你确实需要在块内调用
HTML\u-safe
调用。你可能需要,也可能不需要
HTML\u-safe
调用
一些HTML
字符串,这取决于你需要什么很好。

link\u to
返回一个字符串,那么为什么需要所有的插值呢?您希望将第二个字符串翻过来,并将
html\u 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
def-example\u-helper\u-method()
示例_字符串=“”
示例_string+=“一些HTML…”
示例_string+=链接_以编辑_foo_url(param1,param2,param3:1)do
“示例”.html\u安全
结束
示例_string+“一些HTML…”
结束

link\u to
应该已经返回HTML安全的内容,这样你就不需要
HTML\u-safe
它返回的内容。当你在一个字符串中构建HTML时,你确实需要在块内调用
HTML\u-safe
调用。你可能需要,也可能不需要
HTML\u-safe
调用
一些HTML
字符串,这取决于你需要什么很好。

我忘了说要阻止的链接是在一些html代码之间的,它是与之连接在一起的,这就是为什么我使用示例字符串底部的html安全设置。同样,
link\u to
只返回一个字符串,因此不需要插值,只需根据需要调用
html\u安全设置的简单字符串连接即可ough.ooh抱歉,现在我明白你在说什么了,是的,你的权利,这是方式谢谢:我忘了说,链接到块是在一些html代码之间,它与它连接在一起,这就是为什么我使用示例字符串底部的html安全。再次,
link\u to
只返回一个字符串,因此不需要interpo很抱歉,现在我明白你在说什么了,是的,你的权利,就是这样谢谢:我忘了说要阻止的链接是在一些html代码之间,它是与它连接在一起的,这就是为什么我在示例底部使用html安全的原因le_string.同样,
link_to
只返回一个字符串,因此不需要插值,只需根据需要使用
html_safe
调用进行简单的字符串连接就足够了。哦哦,对不起,现在我明白你在说什么了,是的,你的权利,这是方式谢谢:我忘了说要阻止的链接在一些html代码之间这就是为什么我在示例字符串的底部使用html\u-safe。同样,
link\u-to
只返回一个字符串,所以不需要插值,只需根据需要将字符串与
html\u-safe
调用进行简单的串接就足够了。哦,对不起,现在我明白你在说什么了,是的,你的权利,就是这样谢谢