Sql erb文件语法

Sql erb文件语法,sql,ruby-on-rails,erb,Sql,Ruby On Rails,Erb,这是hql.erb文件中试图从中写入查询的部分,我是否可以将erb文件中的部分转换为sql函数?在.erb模板中,未包含的所有内容都将作为文本进行计算。如果要解决现有问题,您可能需要尝试以下方法: a = Array.wrap(params[:a]).join(', ') <% unless a.blank? %> <%= a%>, <% end %> b = Array.wrap(params[:where]).join(' AND '

这是hql.erb文件中试图从中写入查询的部分,我是否可以将erb文件中的部分转换为sql函数?在.erb模板中,未包含的所有内容都将作为文本进行计算。如果要解决现有问题,您可能需要尝试以下方法:

a = Array.wrap(params[:a]).join(', ')
<% unless a.blank? %>
   <%= a%>,
   <% end %>
     b = Array.wrap(params[:where]).join(' AND ')
      <% unless params[:dedup] %>
     table_name
      WHERE <%= input_data_filter %>
       <% unless b.blank? %>
            AND <%= b %>
       <% end %>
       AND c - d <= <%= f%>

 <% else %>

那真是一团糟。你可以做任何事情,尽管有些事情你不应该做。这就是其中之一。将查询移动到模型,我怀疑在您的情况下是否需要原始SQL,只需使用标准ActiveRecord方法即可。将数据提取移动到控制器。我没有原始的查询,只有其中的一些.erb文件,我被困在如何定义第一行并在sqlAh中执行除非,所以你用EBR构建查询?好吧,那是另一个故事!嗯,你需要用更一般的术语来说明你的问题。为什么需要将ERB转换为SQL?
<% a = Array.wrap(params[:a]).join(', ') %>
<% unless a.blank? %>
  <%= a%>
<% end %>

<% b = Array.wrap(params[:where]).join(' AND ') %>
<% unless params[:dedup] %>
  <%= table_name %>
  WHERE <%= input_data_filter %>
  <% unless b.blank? %>
    AND <%= b %>
  <% end %>
  AND c - d <= <%= f%>
<% else %>