Ruby Camping是在问号处拆分URL

Ruby Camping是在问号处拆分URL,ruby,model-view-controller,url,camping,markaby,Ruby,Model View Controller,Url,Camping,Markaby,我的问题是: 正在以问号拆分URL 所以如果我们有这样的代码: Camping.goes :CodeLine module CodeLine::Controllers class Index def get render :index end end class TextEntered < R '/(.*)' def get(textStringEntered) "#{textStringEntered}" end end end module CodeL

我的问题是:

正在以问号拆分URL

所以如果我们有这样的代码:

Camping.goes :CodeLine
module CodeLine::Controllers
 class Index
  def get
   render :index
  end
 end
class TextEntered < R '/(.*)'
  def get(textStringEntered)
   "#{textStringEntered}"
  end
 end
end
module CodeLine::Views
 def index
  html do
   head do
    title "Uh Oh"
   end
   body do
    text "Looks like you got to the index"
    br
    br
    form :name => "input" do
     input :type => "text", :name => "text"
     input :type => "submit", :value => "Submit"
    end
   end
  end
 end
end
Camping.goes:CodeLine
模块代码线::控制器
类索引
def get
渲染:索引
结束
结束
类文本输入“输入”do
输入:type=>“text”,:name=>“text”
输入:type=>“提交”,value=>“提交”
结束
结束
结束
结束
结束
运行
camping path/to/file

在浏览器中转到
localhost:3301
并在文本字段中输入一些文本并点击submit之后,您应该可以看到斜杠后面的所有内容,但它会在问号处拆分url,因为它认为斜杠后面没有内容,所以会将您带到索引

问题: 是否可以设置
输入
,使其不使用问号,或者我可以使其不在问号处拆分

附录A

1.谷歌浏览器
2.Firefox

3.Safari

路径仅与URL的路径匹配:

https://example.com/hello/world?a=this&b=hello&c=world#nice
^       ^          ^            ^                      ^
Schema  Host       Path         Query parameters       Fragment
在Camping中,您可以通过
@input
访问查询参数:

@input.a # => "this"
@input.b # => "hello"
@input.c # => "world"
查询参数更像是可以传递给控制器的“选项”。例如,您不希望有单独的控制器来处理“按名称排序”和“按日期排序”,因此您可以使用查询参数:

class Search
  def get
    query = @input.q || "*"
    page = (@input.page || 1).to_i
    sort = @input.sort || "name"
    @results = fetch_results_from_database_or_something(query, page, sort)
    render :search
  end
end
这样,所有这些工作:

/search?query=hello  # Page 1, sort by name
/search?page=5       # Page 5, sort by name, search for everything
/search?query=cars&page=4&sort=date

问号是URL中的一个特殊字符,表示路径前面的所有内容,查询字符串后面的所有内容。您是这样构造url的,还是试图访问名称中包含问号的资源?如果是后者,请尝试使用编码
%3F
@Zach Kemp替换问号-我可以构建不带问号的URL吗?例如,example.com/text=foobarbazqux而不是example.com/?text=foobarbazquxStill进入索引,除非为表单指定了操作,并且该操作被路由到“搜索”控制器。这不是什么大问题。