Rails的URL生成机制(大部分通过polymorphic_url)允许将被序列化为查询字符串的散列传递,至少对于GET请求是这样的。获得这种功能的最佳方法是什么?

例如,我希望有如下内容:

generate_url('http://www.google.com/', :q => 'hello world')
  # => 'http://www.google.com/?q=hello+world'
o oo o提问于
十_年回答于

若要调整给定的示例,请尝试:

gsearch = Addressable::Template.new('http://google.com/{?query*}')
gsearch.expand(query: {:q => 'hello world'}).to_s
# => "http://www.google.com/?q=hello%20world"

gsearch = Addressable::Template.new('http://www.google.com/{?q}')
gsearch.expand(:q => 'hello world').to_s
# => "http://www.google.com/?q=hello%20world"

回答过的其他问题

如何检测Android应用程序何时在模拟器中运行?

     if(Debug.isDebuggerConnected() ) {
        // Things to do in debug environment...
    }

如何为laravel测试提供数据库迁移的种子?

如果您希望绕过Artisan的本机DatabaseMigrations和seeder / migration方法,这是一个替代解决方案。您可以创建自己的特征来为数据库设定种子: namespace App\Traits; use App\Models\User; use Ap...... 展开详请

为什么我的异步方法不等待“serialPort = await SerialDevice.FromIdAsync()”?

这是你的构造函数: public SerialController() { InitSerial(); } 它调用的InitSerial()方法有几个await。构造函数立即返回,而不执行所需的所有操作。然后你调用这些方法: serial.Write(); seria...... 展开详请

理解C中的fork()顺序

对fork()两者的调用都会启动一个新进程并继续执行旧进程。如果存在某种错误,则返回错误值。所有错误和唯一错误都是负数。这是第一个if块检查的内容。 在新进程中,fork()返回0.因此,递增v和递减的分支g仅在子进程中调用,而不是父进程。 在原始过程中,fork()函数返回子...... 展开详请

如何入门小程序开发?

Hello World - 入门 在第一阶段,我们不需要了解小程序历史和技术细节,您只需要跟随我们完成基本的Hello World例子即可。 第一步 参考上一篇教程,下载微信开发者工具,并根据自己对应的操作系统进行安装。 第二步 打开微信开发者工具,选择新建小程序项目,我们先不需...... 展开详请

如何在Xaringan演示文稿中嵌入javascript?

需要<iframe>代码。转到polleverywhere的民意调查,然后点击“3. Present”>“分享”>“嵌入民意调查”。会有一个地方显示“将此代码段复制并粘贴到您的网页或博客中”。复制一个看起来像这样的代码: <iframe src="https://embed.p...... 展开详请

关于作者

所属标签

扫码关注云+社区