在 Rails 数据库列中保留空格/缩进
Preserving whitespace / indentation in Rails database column
我在数据库中存储了伪代码文本块,这些文本块会逐行打印并显示在 HTML 中。
在数据库的文本列中输入的伪代码:
while (counter <= 10) {
printf("Enter grade: ");
scanf("%d", &grade);
total = total + grade;
counter = counter + 1;
} /* end while */
控制器:
def index
@code = Code.first // just a filler for the time being
end
索引:
- @code.cont.each_line do |line|
- i += 1
.line
%span= i
%li.line= line
- i = 0
一路走来的某个地方 Ruby 自动删除所有空格,只给我留下文本。我想知道如何保存它以便
这个:
while (counter <= 10) {
printf("Enter grade: ");
scanf("%d", &grade);
total = total + grade;
counter = counter + 1;
} /* end while */
不是这样出来的:
while (counter <=
printf("Enter grade: ");
scanf("%d", &grade);
total = total + grade;
counter = counter + 1;
} /* end while */
我很确定你的 space 字符在那里,但由于 HTML 处理白色 space 的方式你看不到它们。通过将文本放入变量并使用简单的 puts my_chunk_of_text
将其转储到控制台来仔细检查这一点。如果 space 存在(根据您发布的代码,我不明白为什么它们不存在),您有几个选择:
1) 用 <pre>
标签夹住显示的文本,这会呈现预格式化的文本。你会想要在你的视图中这样做,就像这样:
<pre><%= @my_chunk_of_text %></pre>
2) 以 HTML 格式保存文本,在您希望 space 出现的任何地方使用不间断的 spaces (
),并且 <br>
需要换行的地方。可以使用 html_safe
助手在您的视图中呈现此代码。
<%= @my_chunk_of_text.html_safe %>
我在数据库中存储了伪代码文本块,这些文本块会逐行打印并显示在 HTML 中。
在数据库的文本列中输入的伪代码:
while (counter <= 10) {
printf("Enter grade: ");
scanf("%d", &grade);
total = total + grade;
counter = counter + 1;
} /* end while */
控制器:
def index
@code = Code.first // just a filler for the time being
end
索引:
- @code.cont.each_line do |line|
- i += 1
.line
%span= i
%li.line= line
- i = 0
一路走来的某个地方 Ruby 自动删除所有空格,只给我留下文本。我想知道如何保存它以便
这个:
while (counter <= 10) {
printf("Enter grade: ");
scanf("%d", &grade);
total = total + grade;
counter = counter + 1;
} /* end while */
不是这样出来的:
while (counter <=
printf("Enter grade: ");
scanf("%d", &grade);
total = total + grade;
counter = counter + 1;
} /* end while */
我很确定你的 space 字符在那里,但由于 HTML 处理白色 space 的方式你看不到它们。通过将文本放入变量并使用简单的 puts my_chunk_of_text
将其转储到控制台来仔细检查这一点。如果 space 存在(根据您发布的代码,我不明白为什么它们不存在),您有几个选择:
1) 用 <pre>
标签夹住显示的文本,这会呈现预格式化的文本。你会想要在你的视图中这样做,就像这样:
<pre><%= @my_chunk_of_text %></pre>
2) 以 HTML 格式保存文本,在您希望 space 出现的任何地方使用不间断的 spaces (
),并且 <br>
需要换行的地方。可以使用 html_safe
助手在您的视图中呈现此代码。
<%= @my_chunk_of_text.html_safe %>