Ruby on rails 在每个块中写入条件语句
我有一个Twilio录音SID阵列,用于生成指向用户通话录音的链接。当我在表中使用它们并且SID为空时,我希望打印“无录制” 我看到一个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
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>