将URL转换为JSON版本?

Car*_*ole 7 ruby-on-rails ruby-on-rails-3.1

在我的应用程序的所有页面上,我想要一个指向当前页面的JSON版本的链接.这样做的任何巧妙的技巧?它变得复杂的地方是URL中包含额外的'&'参数.

因此,网址将被转换为:

'/users' => '/users.json'

'/users?page=1&per_page=5' => '/users.json?page=1&per_page=5'
Run Code Online (Sandbox Code Playgroud)

m_x*_*m_x 13

试试这个 :

polymorphic_path( @user, :format => :json )
Run Code Online (Sandbox Code Playgroud)

(如此API文档中所示)

或者:

user_path( :id => @user.id, :format => :json )
Run Code Online (Sandbox Code Playgroud)


Car*_*ole 9

此答案的归因来自获取当前页面的网址,但具有不同的格式,并进行了修改:

帮手:

def current_url(new_params)
 url_for params.merge(new_params)
end
Run Code Online (Sandbox Code Playgroud)

链接:

<%= link_to "JSON of this page", current_url(:format=>:json)
Run Code Online (Sandbox Code Playgroud)