ruby-on-rails - Rails 3 - 如果变量包含 URL 的一部分?

标签 ruby-on-rails ruby ruby-on-rails-3

我有一个像/projects/3/blah blah 或/projects/3 或只是/projects 这样的变量

我想做的是在 Rails 中有一个 IF 语句,如下所示:

如果 urlPath 包含/projects proceed

Rails/Ruby 是否有相应的方法?此外,它可能不应该对/books/projects 或/authors/mr-projects/等内容产生误报......

发布到 Rails 的 jquery 进行上述评估:

$.ajax({
    url: '/navigations/sidenav',
    //data:{"urlpath":urlpath}, // 
    data: "urlpath=" + urlpath,
    success: function(e){
        $("#sideNav-container").slideDown("slow");
    }
});

最佳答案

在 Rails 中,您可以使用 starts_with? 来做这样的事情:

if params[:urlpath].starts_with? "/projects"
  #...
end

当然,当哈希查找的计算结果为 nil 时,这会失败。这就是 try 方法派上用场的地方:

if params[:urlpath].try(:starts_with?, "/projects")
  #...
end

关于ruby-on-rails - Rails 3 - 如果变量包含 URL 的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3799883/

相关文章:

ruby-on-rails - 在 Rails 3.2 上测试 HABTM after_add/after_remove 回调

ruby-on-rails - 将通过 Mailgun 通过电子邮件发送和处理的信息保存到我的应用程序中

ruby-on-rails - 如何提交带有刺激远程 true 的 simple_form

ruby - 这个 #divmod 方法正在做什么来输出这个结果?

ruby-on-rails-3 - 如何在 Rails 中正确确定用户属性的范围

ruby-on-rails - Heroku登录时出现 ruby 错误

ruby-on-rails - 更改 Rails 中测试的主机名

ruby-on-rails - 如何在两个 Rails 模型之间创建关联

javascript - 在单独的网站上使用 ajax 登录 Rails 3 应用程序(使用 Devise 进行身份验证)

ruby - 为什么缺少一些 rake 任务?