我是Ruby On Rails的新手,需要一些帮助来实现REST协议。
每当您在REST上执行POST时,您都会获得一个URL,例如: http://my-site.com/id/1
我需要一个URL格式的自定义响应,我在上面的示例中给出了。
让我说我正在对参数<main-id>123</main-id>
做一个帖子
我正在寻找的自定义响应是http://my-site.com/123/id/1
我想要实现的是,无论我在帖子中传递的参数ID,我都希望它作为响应URL输出的一部分。
感谢您提前提供任何帮助。
答案 0 :(得分:0)
您可以在控制器中指定任何URL,例如:
def create
... # create record here
redirect_to "/#{params[:main_id]}/id/#{@record.id}"
end
当然,您可能希望根据您定义的路线使用网址助手:
def create
... # create record here
redirect_to my_oddball_path(@record, :main_id => 123)
end
答案 1 :(得分:0)
如果您使用的是Rails 3,则可以使用正确的控制器/操作添加此路由
match ':main_id/id/:id', :controller => 'foo', :action => "bar", :via => :post, :as => main_id
然后你可以使用帮助器main_id_path(main_id,@ record)