在我的Rails应用程序的标题选项卡中,撇号显示为“”。其他地方的撇号都正确出现。如何纠正此问题?谢谢大家。
p8ekf7hl1#
我不确定你是否希望撇号显示为'或'。如果你把你的撇号放在双引号字符串中,那么它将正确呈现:
'
'
<title><%="example 'title'" %></title> #=> example 'title'
如果你把'放在双引号的字符串中,那么它将在写入时返回。
<title><%="example 'title'" %></title> #=> example 'title'
最后,如果你想使用'并正确解析它,那么你可以使用raw。
raw
<title><%=raw "example 'title'" %></title> #=> example 'title'
如果它没有按预期工作,那么它可能是浏览器问题,但是,我已经测试了Firefox和Safari的现代版本,它工作正常。
44u64gxh2#
帮助那些有“谷歌福”的人。如果你在这里是因为你在每个页面上都做了rails标题,比如SO: rails-how-to-change-the-title-of-a-page,并且有记录,你的撇号出现在'中,只是想用'(即My Dog's Pants而不是My Dog's Pants),那么你可以检查这个使用ruby字符串插值#{}和.html_safe的答案。Passing string with apostrophe to helper method doesn't display correctly例如,我在post.rb模型中放置了一个方法:
My Dog's Pants
My Dog's Pants
#{}
.html_safe
post.rb
def page_title "#{ id.to_s + " - " + name }".html_safe end
然后在我的posts_controller.rb中我有:
posts_controller.rb
@title = @post.page_title
然后在我的application.html.erb中我有:
application.html.erb
<body> <title><%= ("Post - " + yield(:title) + " - " unless yield(:title).blank?).to_s + "jaykilleen.com" %></title> </body>
然后在我的show.html.erb的帖子我有:
show.html.erb
<% content_for :title, @title if @title.present? %>
2条答案
按热度按时间p8ekf7hl1#
我不确定你是否希望撇号显示为
'
或'
。如果你把你的撇号放在双引号字符串中,那么它将正确呈现:
如果你把
'
放在双引号的字符串中,那么它将在写入时返回。最后,如果你想使用
'
并正确解析它,那么你可以使用raw
。如果它没有按预期工作,那么它可能是浏览器问题,但是,我已经测试了Firefox和Safari的现代版本,它工作正常。
44u64gxh2#
帮助那些有“谷歌福”的人。
如果你在这里是因为你在每个页面上都做了rails标题,比如SO: rails-how-to-change-the-title-of-a-page,并且有记录,你的撇号出现在'中,只是想用'(即
My Dog's Pants
而不是My Dog's Pants
),那么你可以检查这个使用ruby字符串插值#{}
和.html_safe
的答案。Passing string with apostrophe to helper method doesn't display correctly
例如,我在
post.rb
模型中放置了一个方法:然后在我的
posts_controller.rb
中我有:然后在我的
application.html.erb
中我有:然后在我的
show.html.erb
的帖子我有: