Ruby on rails Rails 3自定义方法位置

Ruby on rails Rails 3自定义方法位置,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我目前正在尝试向Rails 3应用程序中的控制器方法添加一些解析方法 我有一个控制器动作如下: def control @device = Device.find(params[:id]) <do things> parse_return(@returned_data) end 我向控制器添加了一个自定义方法,如下所示。此方法没有任何路由,只能由控制器操作访问: def parse_return <parse data> end 但这似乎不允许使用pa

我目前正在尝试向Rails 3应用程序中的控制器方法添加一些解析方法

我有一个控制器动作如下:

def control
  @device = Device.find(params[:id])
  <do things>
  parse_return(@returned_data)
end
我向控制器添加了一个自定义方法,如下所示。此方法没有任何路由,只能由控制器操作访问:

def parse_return
  <parse data>
end
但这似乎不允许使用parse_return方法。Rails应用程序中还有其他地方可以放置可重用的方法吗


谢谢

乍一看,你似乎没有做出回应。控件操作没有关联的视图是真的吗

在这种情况下,您必须在操作中手动调用render。例如,要呈现JSON响应,可以执行以下操作:

def control
  # ...

  render :json => parse_return(@returned_data),
         :content_type => 'application/json',
         :layout => false
end

你应该包括错误是什么

如果你试试这个会怎么样

def parse_return(returned_data)
  <parse data>
end

可能该方法不希望随参数一起传递。

此外,如果愿意,您也可以将方法放入模型中,并从控制器调用它们。