【发布时间】:2014-07-08 13:58:29
【问题描述】:
我有一个名为:settore_scientifico_progetto 的模型的文本属性和三个字符串属性:macrocat、:cat、:microcat:
class Modulo1 < ActiveRecord::Base
before_create :set_settore_scientifico_progetto
before_update :update_settore_scientifico_progetto
private
def set_settore_scientifico_progetto
self.settore_scientifico_progetto = "#{macrocat}\n#{cat}\n#{microcat}"
end
def update_settore_scientifico_progetto
self.settore_scientifico_progetto = "#{macrocat}\n#{cat}\n#{microcat}"
end
我想在我输入 \n 的地方添加一个新行,但我发布的代码给了我输出
macrocat cat microcat.
我想要如下:
宏猫
猫
微猫
输出显示在show.html.erb:
<div class="form-field">
<h3>Settore scientifico:</h3>
<p><%= @modulo1.settore_scientifico_progetto %></p>
</div>
【问题讨论】:
-
你在哪里以及如何输出值?
-
@HarshGupta 在输出中使用
它打印我的宏猫
cat
microcat -
我认为
@modulo1.settore_scientifico_progetto.gsub("\n", "<br\>").html_safe -
你应该使用 Rails 的内置
simple_format助手而不是gsub...html_safe方法。<%= simple_format @modulo1.settore_scientifico_progetto %>。 (这将自动将内容包装在<p>标记中;链接的文档显示了如何自定义它。) -
只是一个小问题,为什么你有两种方法可以做同样的事情?
标签: ruby-on-rails string line add between