Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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应用程序中,如何使某个表单字段中的文本显示一个图像,如果为空,则显示另一个图像?_Ruby On Rails_Ruby_Forms_If Statement - Fatal编程技术网

Ruby on rails 在Rails应用程序中,如何使某个表单字段中的文本显示一个图像,如果为空,则显示另一个图像?

Ruby on rails 在Rails应用程序中,如何使某个表单字段中的文本显示一个图像,如果为空,则显示另一个图像?,ruby-on-rails,ruby,forms,if-statement,Ruby On Rails,Ruby,Forms,If Statement,我正在为亚马逊的产品发表评论,因为如果你直接从中国得到合法的产品或廉价的垃圾,那就太糟糕了。如果产品是合法的,我希望亚马逊的“购买”图片(链接到该商品)出现。如果它是垃圾,我想要一个不同的亚马逊图片出现(一个灰色的) 在我的新产品表单中有'verdict'和'goodverdict'字段。但只有atm机在使用,亚马逊购物的形象总是在那里(这两个现在没有关系) 我一直想做的是设置它,这样如果我填写“GoodDedict”字段,就会显示购买图像(带有链接)。相反,如果我使用常规的“裁决”字段并将“g

我正在为亚马逊的产品发表评论,因为如果你直接从中国得到合法的产品或廉价的垃圾,那就太糟糕了。如果产品是合法的,我希望亚马逊的“购买”图片(链接到该商品)出现。如果它是垃圾,我想要一个不同的亚马逊图片出现(一个灰色的)

在我的新产品表单中有'verdict'和'goodverdict'字段。但只有atm机在使用,亚马逊购物的形象总是在那里(这两个现在没有关系)

我一直想做的是设置它,这样如果我填写“GoodDedict”字段,就会显示购买图像(带有链接)。相反,如果我使用常规的“裁决”字段并将“goodverdict”留空,则显示灰色的图像

我想我所缺少的只是一个if/else语句

我删除了任何样式,但这是一个裁决,显示了链接到产品的buy图像(我将“buylink”链接粘贴到表单中)。这是在产品展示页面上呈现的部分

<div>
<h1><%= @product.verdict %></h1><br>
<%= link_to image_tag("https://s3.amazonaws.com/isitcrap/amazon-Button.png"), @product.buylink.html_safe %>
</div>


如果要查看表单字段,请执行以下操作:

<div class="form-group">
<%= f.label :buylink %>
<%= f.text_field :buylink, class: "form-control" %>
</div>

<div class="form-group">
<%= f.label :verdict %>
<%= f.text_field :verdict, class: "form-control" %>
</div>

<div class="form-group">
<%= f.label :goodverdict %>
<%= f.text_field :goodverdict, class: "form-control" %>
</div>

我对其他方法持开放态度,比如“垃圾”或“合法”的复选框是控制购买图像是否显示的选项。我欢迎所有好的建议。先谢谢你

尝试三值运算符:

<div class="col-md-4" id="belowvid">
<%= @product.verdict.present? ?
<h1 id="showverdict"> @product.verdict </h1><br> image_tag 'https://s3.amazonaws.com/isitcrap/amazon+gray+button.jpg', width: 275 : <h1 id="showverdict"> @product.goodverdict </h1><br>
link_to image_tag("https://s3.amazonaws.com/isitcrap/amazon-Button.png", width: 275), @product.buylink.html_safe, target: :_blank %>
</div>
<% my_url = @product.verdict.present? ? verdict image url : another image url %>

对于链接中的
if-else
,使用
链接到

例如:

或使用三元运算符:

<div class="col-md-4" id="belowvid">
<%= @product.verdict.present? ?
<h1 id="showverdict"> @product.verdict </h1><br> image_tag 'https://s3.amazonaws.com/isitcrap/amazon+gray+button.jpg', width: 275 : <h1 id="showverdict"> @product.goodverdict </h1><br>
link_to image_tag("https://s3.amazonaws.com/isitcrap/amazon-Button.png", width: 275), @product.buylink.html_safe, target: :_blank %>
</div>
<% my_url = @product.verdict.present? ? verdict image url : another image url %>

&然后像这样使用它


如果您遇到任何问题

,使图像在正确的情况下作为链接处于活动/非活动状态,但没有采取任何措施来替换图像,请告诉我。对于另一种情况,我是否在某处放置了“其他”标记?或者只是复制/粘贴并将“goodverdict”更改为“verdict”,并将S3图像链接更改为备用图像?(即没有其他条件)?您可以为其他条件编写相同的代码您也可以使用三元运算符,如make a variable my_url=@product.verdict.present?结论图像url:另一个图像url&然后只需使用link_to image_标记(my_url),@product.buylink.html_safe我查找了三元运算符,这真的很酷,谢谢你向我介绍这个概念。我唯一的困惑点是My_url=,并将其作为erb在rails中工作。我的日子不好过。。。我会将我的代码添加到OP(为其他条件编写相同的代码将生成一个链接,但两个图像…)谢谢!太好了!