我在Rails表单中有一个文本字段,我希望显示带有换行符的字符串。出于某种原因,我无法让Rails在不同的行上显示它们。以下是我的控制器的编辑操作中的代码:
def edit
@billing_log = BillingLog.find(params[:id])
team_comments = ""
@billing_log.billable_totals.each do |billable_total|
team_comments += (billable_total.user_name + ' - ' + billable_total.comments + '\n')
end
@billing_log.team_notes = team_comments
end
以下是表单中的片段。
= simple_form_for @billing_log do |f|
.row
.span8
= f.input :team_notes, :as => :text, :input_html => { :class => 'input-block-level', :rows => '6' }
我无法在文本字段的单独行中显示每个注释的文本。相反,它们用' \ n'表示,例如,
First Comment\nSecond Comment
我希望它们显示为:
First Comment
Second Comment
我尝试过替换
'<br/>'
而不是
'\n'
在我的编辑方法代码中,如下所示:
team_comments += (billable_total.user_name + ' - ' + billable_total.comments + '<br/>')
但这也不起作用。
感谢您的提前时间。
答案 0 :(得分:0)
使用HTML标记时,只需确保ruby字符串附加.html_safe
,除非字符串可能为nil
。如果is可以是nil
,则将字符串包装并添加raw()
所以在你的情况下,要么
(billable_total.user_name + ' - ' + billable_total.comments + '<br/>').html_safe
或
raw(billable_total.user_name + ' - ' + billable_total.comments + '<br/>')
您还not
需要使用黑名单br
结束您的/
代码,因此只需使用<br>
- W3Schools
答案 1 :(得分:0)
您不能在文本字段中放置换行符(这是输入助手生成的内容)。您应该使用text_area帮助程序。