在控制器中生成URL(rails)

时间:2011-03-01 12:34:09

标签: ruby-on-rails

我在我的控制器中有一个动作,它将JSON渲染回客户端:

@data = [{label:"foo", url:"..."}, ...]

render :json => @data

基本上“数据”是一个对象数组,每个对象都有一个label和url属性。想要在服务器端生成URL,而不是将这些数据交给客户端,并让它迭代它以生成URL字符串。

如果我可以使用“link_to”方法,它将如下所示:

link_to“foo”,{:action => 'some_action',:foobar => {}}

基本链接到/ foobar / some_action

在控制器中生成URL的最佳方法是什么,因为我没有方便的“link_to”方法?

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:3)

您可以在控制器中包含视图助手方法,就像任何其他模块一样,这些方法将可用:

class MyController < ApplicationController
  include ActionView::Helpers::UrlHelper

  def ajax_method
    link_to "foo", {:action => 'some_action', :foobar => {}}
  end
end