Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在每个块中写入条件语句_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 在每个块中写入条件语句

Ruby on rails 在每个块中写入条件语句,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个Twilio录音SID阵列,用于生成指向用户通话录音的链接。当我在表中使用它们并且SID为空时,我希望打印“无录制” 我看到一个true值 我在上面的条件中遗漏了什么,它没有识别空值 **更新 @empty\u check示例是我试图找出我认为是问题和调试的地方 以下是实际控制器代码: @sub_account_client = Twilio::REST::Client.new(@account_sid, @auth_token) @subaccount = @sub_account_c

我有一个Twilio录音SID阵列,用于生成指向用户通话录音的链接。当我在表中使用它们并且SID为空时,我希望打印“无录制”

我看到一个
true

我在上面的条件中遗漏了什么,它没有识别空值

**更新

@empty\u check
示例是我试图找出我认为是问题和调试的地方

以下是实际控制器代码:

@sub_account_client = Twilio::REST::Client.new(@account_sid, @auth_token)
@subaccount = @sub_account_client.account
@calls = @subaccount.calls
@callslist = @calls.list({:page_size => @page_size, :page => @page, :"start_time>" =>       @start_date, :"start_time<" => @end_date})
@callsids = @callslist.map {|m| m.parent_call_sid}.compact
@sub\u account\u client=Twilio::REST::client.new(@account\u sid,@auth\u token)
@子帐户=@sub\u account\u client.account
@calls=@subaccount.calls

@callslist=@calls.list({:page\u size=>@page\u size,:page=>@page,:“start\u time>”=>@start\u date,:“start\u time您确定要在打印测试和主代码块中访问相同的变量吗?在您感兴趣的测试之前,尝试在模板中输出
@empty\u check
的值(可选在注释中)


更新以回答更新后的问题:

<% @calls.get(@call.sid).recordings.list.each do |rec| %>
甚至:

<% @call.recordings.list.each do |rec| %>

在应答被接受后添加简化版本。将标签拉到if(和每个)之外,以便在有多个通话录音的情况下,所有链接都在同一个表格单元格中

<% reclist = @call.recordings.list %>
<td>
<% if reclist.empty? %>
  No Recording
<% else %>
  <% reclist.each do |rec| %>
    <%=link_to 'listen', "https://api.twilio.com/2010-04-01/Accounts/#{@account_sid}/Recordings/" + rec.sid, :target => "_blank"%> 
  <% end %>               
 <% end %>
 </td>

请勿录音
“_blank”%>

除了不必要地使用嵌入式ruby打印“无录制”之外,我看不出您的查看代码有任何明显的错误。您可以在那里执行
无录制操作。
您可以发布控制器代码吗?我很感谢您的提醒,这是一个好主意,但只是一个疏忽:)修正了。你明白了,谢谢约瑟夫!我也感谢你的额外解释,我理解为什么我的代码现在不起作用了。
<% @calls.get(@call.sid).recordings.list.each do |rec| %>
<% @calls.get(c).recordings.list.each do |rec| %>
<% @call.recordings.list.each do |rec| %>
<% reclist = @call.recordings.list %>
<% if reclist.empty? %>
  <td><%= "No Recording" %></td>
<% else %>
  <% reclist.each do |rec| %>
    <td><%=link_to 'listen', "https://api.twilio.com/2010-04-01/Accounts/#{@account_sid}/Recordings/" + rec.sid, :target => "_blank"%></td> 
  <% end %>               
 <% end %>
<% reclist = @call.recordings.list %>
<td>
<% if reclist.empty? %>
  No Recording
<% else %>
  <% reclist.each do |rec| %>
    <%=link_to 'listen', "https://api.twilio.com/2010-04-01/Accounts/#{@account_sid}/Recordings/" + rec.sid, :target => "_blank"%> 
  <% end %>               
 <% end %>
 </td>