Ruby on rails 带有html和erb的Rails助手
如何使用ruby代码让下面的助手在屏幕上显示ruby对象,而不只是在DOM中输出下面的内容Ruby on rails 带有html和erb的Rails助手,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,如何使用ruby代码让下面的助手在屏幕上显示ruby对象,而不只是在DOM中输出下面的内容 def day_nav html = "" html += ' <a href="#day1"> <div class="sixcol dayButton">#{ @event.start_date.strftime("%B %d, %Y") }</div> </a> <a href="#day2"> <
def day_nav
html = ""
html += '
<a href="#day1">
<div class="sixcol dayButton">#{ @event.start_date.strftime("%B %d, %Y") }</div>
</a>
<a href="#day2">
<div class="sixcol last dayButton">#{ @event.end_date.strftime("%B %d, %Y") }</div>
</a>'
html.html_safe
end
def day\u nav
html=“”
html+='
'
html.html_安全
结束
这就足够了:
<%= @event.start_date.strftime("%B %d, %Y") %>
您在DOM中看到
@event.start_date.strftime(“%B%d,%Y”)
的原因是,您的外部引号级别是一个单引号('
),单引号不运行任何类型的插值(包括{}
)。因此,您可以通过使用双引号或任何其他允许插值的字符串文字表示来修复您的方法。。。虽然很明显你不想用双引号。因此,您可以使用%()
作为字符串文字表示,而不是双引号。例如:
def day_nav
html = ""
html += %(
<a href="#day1">
<div class="sixcol dayButton">#{ @event.start_date.strftime("%B %d, %Y") }</div>
</a>
<a href="#day2">
<div class="sixcol last dayButton">#{ @event.end_date.strftime("%B %d, %Y") }</div>
</a>)
html.html_safe
end
您指的是哪个对象?我想显示这个-@event.start\u日期
def day_nav
links = [
link_to("#day1") do
content_tag(:div, @event.start_date.strftime("%B %d, %Y"), class: "sixcol dayButton")
end,
link_to("#day2") do
content_tag(:div, @event.end_date.strftime("%B %d, %Y"), class: "sixcol last dayButton")
end
]
safe_join(links, "\n")
end