将带有撇号的字符串传递给辅助方法无法正确显示

Kev*_*n K 3 string ruby-on-rails

我正在使用rails教程中的一个帮助器方法,它将两个字符串连接在一起,以便在视图中的标题选择器中使用.它工作得非常好,除非字符串中有撇号.

当:group_name包含一个撇号时,它会像这样出现:

<title>The website | O&amp;#x27;Malley Brothers</title>
Run Code Online (Sandbox Code Playgroud)

这是方法:app/helpers/application_helper.rb

module ApplicationHelper

  def full_title(page_title)
    base_title = "Chicago Improv Festival"
    if page_title.empty?
      base_title
    else
      "#{base_title} | #{page_title}"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

以下是它在布局视图中的使用方式.应用程序/视图/布局/ application.html.erb:

<title><%= full_title(yield(:title)) %></title>
Run Code Online (Sandbox Code Playgroud)

以下是:标题在另一个视图文件中设置的位置:app/views/submissions/show.html.erb

<% provide(:title, @submission.group_name) %>
Run Code Online (Sandbox Code Playgroud)

fly*_*ish 9

您需要添加.html_safe以便撇号不会被转义.

"#{base_title} | #{page_title}".html_safe
Run Code Online (Sandbox Code Playgroud)