Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRailsREST:为POST请求定制URL模式_Ruby On Rails_Rest_Routing_Rubygems_Rails Routing - Fatal编程技术网

Ruby on rails RubyonRailsREST:为POST请求定制URL模式

Ruby on rails RubyonRailsREST:为POST请求定制URL模式,ruby-on-rails,rest,routing,rubygems,rails-routing,Ruby On Rails,Rest,Routing,Rubygems,Rails Routing,我是RubyonRails新手,需要一些帮助来实现REST协议 每当你在REST上发表文章时,你都会得到一个URL,例如http://my-site.com/id/1 我需要一个自定义的URL格式的响应,我在上面的例子中给出了。 假设我正在对参数123 我正在寻找的定制响应是http://my-site.com/123/id/1 我想要实现的是,无论我在post期间传递了什么参数ID,我都希望它作为响应URL输出的一部分 感谢您的帮助。您可以在控制器中指定任何URL,例如: def create

我是RubyonRails新手,需要一些帮助来实现REST协议

每当你在REST上发表文章时,你都会得到一个URL,例如
http://my-site.com/id/1
我需要一个自定义的URL格式的响应,我在上面的例子中给出了。 假设我正在对参数
123
我正在寻找的定制响应是
http://my-site.com/123/id/1
我想要实现的是,无论我在post期间传递了什么参数ID,我都希望它作为响应URL输出的一部分


感谢您的帮助。

您可以在控制器中指定任何URL,例如:

def create
  ... # create record here
  redirect_to "/#{params[:main_id]}/id/#{@record.id}"
end
当然,您可能希望根据定义的路由使用url帮助器:

def create
  ... # create record here
  redirect_to my_oddball_path(@record, :main_id => 123)
end

如果您使用的是Rails 3,您可以使用适当的控制器/操作添加此路由

 match ':main_id/id/:id', :controller => 'foo', :action => "bar", :via => :post, :as => main_id
然后您可以只使用helper main_id_路径(main_id,@record)