我有一个使用RubyOnRails if-else语句的奇怪的假设。
我有一个名为pregunta[1]
的字符串,我以这种方式获得:
<% pregunta = p1[0].split('|') %>
pregunta[1]
可以有3个可能的值:(+)
,(-)
或(?)
。
之后pregunta[1]
以这种方式分配给名为modo
的另一个字符串:
<font color="#047d7c"><%= modo = pregunta[1] %></font>
根据modo
的值,我需要显示不同的内容,为此,我需要3个不同的if-else语句:
<%= modo %>
<% if modo == "(+)" %>
Write something to modo afirmativo
<% end %>
<% if modo == "(?)" %>
Write something to modo interrogativo
<% end %>
<% if modo == "(-)" %>
Write something to modo negativo
<% end %>
我放置第一行<%= modo %>
以检查我是否正在恢复正确的值。并且它不会添加其他内容,例如\n
或其他内容。
在浏览器上, .erb.html 视图使用正确的值完美显示第一行modo
值,但完全忽略了三个不同的if-else语句。
我认为,它应该与我的sintaxis有关,因为我尝试了一个case
语句,结果相同。
在控制器上编写代码不是一个选项,我需要在视图上使用它。因为它是我需要的另一个代码的一部分。
对我做错了什么的想法?
以下是request.POST
的全部内容:
{
"utf8"=>"✓",
"authenticity_token"=>"3gpg8XPR0d/db7V1a69tPHNHapTNyuILleBHV7KD5UeMrNppCVHl6qfe3cZ9ov6y69+uodvrF7NAQRekkX/RHQ==",
"~1-pregunta"=>"Futuro Simple | (+) | 3ra. del Plural | to need | necesitar",
"1-conAuxiliar"=>"they | will | | need",
"1-sinAuxiliar"=>"they | -",
"1-espanol"=>"ellos | | necesitarán",
"respuestaUsuario-1"=>"content1",
"~2-pregunta"=>"Pasado Simple | (-) | 3ra. del Singular(n) | to open | abrir",
"2-conAuxiliar"=>"it | did | not | open",
"2-sinAuxiliar"=>"No existe",
"2-espanol"=>"eso | no | abrió / abría / abriera / abriese",
"respuestaUsuario-2"=>"content2",
"~3-pregunta"=>"Presente Simple | (?) | 1ra. del Plural | to hurt | lastimar",
"3-conAuxiliar"=>"¿do | we | | hurt?",
"3-sinAuxiliar"=>"No existe",
"3-espanol"=>"nosotros | | lastimamos",
"respuestaUsuario-3"=>"content3",
"commit"=>"Corregir"
}
答案 0 :(得分:0)
毫无疑问,您的pregunta 1内容的任何一侧都有空格:
knex('whatever_table').on('query', () => {///});
因此,您的modo变量将匹配&#34; (+)&#34;两边都有空格。 Strip /在比较之前修剪字符串。
答案 1 :(得分:0)
&lt;%= modo = pregunta [1] .strip%&gt;
我真的非常感谢你的帮助......非常感谢Gerry =)非常感谢Simon,对你们所有人=)这是我的第一篇文章...谢谢=)=)=)..我感到困惑和悲伤,因为我能理解为什么它不起作用,
答案 2 :(得分:0)
感谢所有人提出的所有建议,我使用params让代码在这里工作,我不需要 .strip 方法,我希望人们觉得它很有用。 =)
<% pregunta1 = params[:pregunta1].split('|') %>
<% conAuxiliar1 = params[:conAuxiliar1].split('|') %>
<% sinAuxiliar1 = params[:sinAuxiliar1].split('|') %>
<% espanol1 = params[:espanol1].split('|') %>
<% respuestaUsuario1 = params[:respuestaUsuario1] %>
<p class="verde">
<font color="#808080">1. </font>
<font color="#8802f6"><%= pregunta1[0] %></font>
<font color="#047d7c"><%= pregunta1[1] %></font>
<font color="#ff1493"><%= pregunta1[2] %></font>
<font color="#808080"> con </font>
<font color="#047d7c"><%= pregunta1[3] %></font>
<font color="#808080"> / </font>
<font color="#047d7c"><%= pregunta1[4] %></font><br>
</p>
<% if pregunta1[1] == '(+)' %>
<font color="#808080">Con auxiliar - </font>
<font color="#ff1493"><%= conAuxiliar1[0] %></font>
<font color="#8802f6"><%= conAuxiliar1[1] %></font>
<font color="#047d7c"><%= conAuxiliar1[2] %></font><br>
<font color="#808080">Sin auxiliar - </font>
<font color="#ff1493"><%= conAuxiliar1[0] %></font>
<font color="#047d7c"><%= conAuxiliar1[2] %></font><br>
<font color="#808080">En español - </font>
<font color="#ff1493"><%= espanol1[0] %></font>
<font color="#047d7c"><%= espanol1[1] %></font><br>
<h4 class="rosa">
<font color="#808080">Tu respuesta: </font>
<%= respuestaUsuario1 %>
</h4>
<p class="verde">_____________________________________________________________________</p><br>
<% end %>