Ruby on rails 参数中带有点的管线及其约束

Ruby on rails 参数中带有点的管线及其约束,ruby-on-rails,ruby,routes,Ruby On Rails,Ruby,Routes,我有一个路由,它的参数中可以有一个周期。以下是我的路线: put 'book/:book_name' => :create_record 如果我将:book\u name作为结束传递。,我会返回一个类似“未找到路由”的错误。在寻找它时,我了解到需要添加一个约束,如{:book_name=>/[^\/]+/},才能使它工作 现在,我可以将:book_name的值传递为“结束”。或“…”或任何带有句点的内容。但是,当我只传递一个。时,它再次向我抛出相同的“未找到路由”错误 我如何处理这个问题

我有一个路由,它的参数中可以有一个周期。以下是我的路线:

put 'book/:book_name' => :create_record
如果我将
:book\u name
作为
结束传递。
,我会返回一个类似“未找到路由”的错误。在寻找它时,我了解到需要添加一个约束,如
{:book_name=>/[^\/]+/}
,才能使它工作

现在,我可以将
:book_name
的值传递为
“结束”。
“…”
或任何带有句点的内容。但是,当我只传递一个
时,它再次向我抛出相同的“未找到路由”错误

我如何处理这个问题?

而不是

{:book_name => /[^\/]+/ }
尝试:


*
与前面的字符匹配0次或任意次数。

您真的需要只带“.”的路由吗?是:book_name是一个字符串,它可以包含任何字符。如果找不到解决方案,将更新要求,使书名的最小字符数超过2个,因为我注意到使用“…”可以在“as”或“…”不起作用的情况下工作。好的,尝试一下。很抱歉,这对我帮助不大。我仍然看到同样的结果(尝试
{:book_name=>/.*/}
我也得到了相同的结果。“.”和“..”不起作用。小于3的句点数不起作用。我认为Rails对阻止一个/两个点字符有特定的限制
{:book_name => /[^\/]*/ }