显示“#”而不是文字

时间:2018-08-30 14:24:36

标签: ruby-on-rails ruby oracle oracle11g

我正在执行以下代码:

  def find_all_from_id
     Note.find_by_sql([%{SELECT NOTE_N FROM NOTES WHERE ORDSP_ID = #{@order.order_number}}])
   end

在ERB文件中,我有一个输出:

<div class="form-field notes-div" >
    <%= service_form.label :notes, "Pakalpojuma papildinformācija:", :class => "label_for_cod", :style=>"width: 170px;" %>
    <div style="float:left; width:400px;"><%#= notes %> <%= find_all_from_id %></div>
</div>

它放置#符号而不是来自数据库(http://prntscr.com/kop3mz)的文本。为什么?我该如何解决?

1 个答案:

答案 0 :(得分:3)

看看find_by_sql的文档:https://api.rubyonrails.org/classes/ActiveRecord/Querying.html

此方法将返回实例数组。如果要显示有关这些实例的信息,则需要遍历数组并手动显示要显示的信息。 Erb将不会显示实例数组,从而导致问题。

例如

<% find_all_from_id.each do |note| %> 
    <%= note.name %> 
    <%= note.id %> 
<% end %>