【问题标题】:Ruby on Rails get URL and use it within an if statementRuby on Rails 获取 URL 并在 if 语句中使用它
【发布时间】:2015-01-18 11:25:04
【问题描述】:

我有一个 ruby​​ on rails 应用程序,并希望根据 URL 的内容在索引页面上显示图像。如果 url 是:localhost:3000/products/multi_find 我不想显示图像,如果是其他任何东西我确实希望显示它。

他们是我可以检索 url 并将其存储在变量中以运行 <& if statement like: if url != localhost:3000/products/multi_find &><%= image tag "test.png", :size => "15x18" %> <% end %> 的一种方式吗?

提前谢谢你。

【问题讨论】:

  • 没有得到您的需要..
  • 我想知道如何获取它,以便应用程序知道 url 是什么,并将其存储在变量中以确定是否显示图像

标签: ruby-on-rails ruby url if-statement get


【解决方案1】:

这些解决方案都不起作用,但确实如此:

<% if request.original_url == 'http://localhost:3000/products/multi_find' %>
    <%= image tag "test.png", :size => "15x18" %>
<% end %>

【讨论】:

    【解决方案2】:

    在 Rails 中,您必须考虑路由规则,而不是 URL。 URL 只不过是路由指令的结果。

    因此,/products/multi_find可以用actioncontroller和参数来表示。

    考虑到这一点,您可以使用 current_page? 帮助器检查当前 URL 是否与您期望的路由匹配,如果匹配则忽略该图像。

    【讨论】:

    • 谢谢,如果 current_page 会是
    【解决方案3】:

    您甚至可以使用 rails “action_name” 和 “controller_name” 辅助方法来完成工作。

    【讨论】:

    • 对不起,我对 ruby​​ 还很陌生,你能告诉我如何使用它吗?就像它去哪里一样,if 语句会是什么样子
    • 你可以参考这个标签,stackoverflow.com/questions/5186613/…
    【解决方案4】:

    试试这个:

    <% unless current_page?('/products/multi_find') %>
      <%= image tag "test.png", :size => "15x18" %>
    <% end %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      相关资源
      最近更新 更多