Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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 如何根据Rails中视图文件中的if语法进行渲染_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何根据Rails中视图文件中的if语法进行渲染

Ruby on rails 如何根据Rails中视图文件中的if语法进行渲染,ruby-on-rails,Ruby On Rails,我只想根据if语法呈现带有数字字符串输入的post视图 但是我的代码得到了所有的帖子 index.html.erb _card1.html.erb 尝试删除if语句并替换为: <%= render "fleamarkets/card#{x.number}", x: x %> 试试这个。。。另外,我注意到您正在将数字与“1”进行比较,因为字符串周围有引号。很可能您需要对每个if语句执行此操作:if x.number==1注意,没有引号 <% @fleamarkets.each

我只想根据if语法呈现带有数字字符串输入的post视图

但是我的代码得到了所有的帖子

index.html.erb

_card1.html.erb


尝试删除if语句并替换为:

<%= render "fleamarkets/card#{x.number}", x: x %>

试试这个。。。另外,我注意到您正在将数字与“1”进行比较,因为字符串周围有引号。很可能您需要对每个if语句执行此操作:if x.number==1注意,没有引号

<% @fleamarkets.each do |x| %>
  <% if x.number == '1' %>
    <%= render partial: 'fleamarkets/card1', locals: {x: x} %>
  <% elsif x.number == '2' %>
    <%= render partial: 'fleamarkets/card2', locals: {x: x} %>
  <% else %>
    <%= render partial: 'fleamarkets/card3', locals: {x: x} %>
  <% end %>
<% end %>

那么,你现在的问题是什么?你现在的问题还不是很清楚。你正在所有跳蚤市场中循环,因此无论你如何过滤视图,最终都会显示所有跳蚤市场。那么我猜你会根据哪个号码来展示一张卡片,那么它是否会根据你对每个跳蚤市场的条件正确地展示正确的卡片呢?如果没有这样的部分呢?如果数字675呢?这可能应该在模型上验证。这取决于它们的特定用例。好的,局部变量只使用组合分部关键字
<%= render "fleamarkets/card#{x.number}", x: x %>
<% @fleamarkets.each do |x| %>
  <% if x.number == '1' %>
    <%= render partial: 'fleamarkets/card1', locals: {x: x} %>
  <% elsif x.number == '2' %>
    <%= render partial: 'fleamarkets/card2', locals: {x: x} %>
  <% else %>
    <%= render partial: 'fleamarkets/card3', locals: {x: x} %>
  <% end %>
<% end %>