从我的阅读材料看起来像Helpers用于观看。 问题是我想从控制器将一些丑陋的硬编码JSON传回我的视图,直到我的REST服务准备好。所以我当然可以在控制器中对它进行硬编码,但是想知道是否有一种更清洁的方法是不用那些硬编码的东西来污染控制器,并以某种方式将它写在帮助器中并在控制器中调用该辅助方法。
那你对此有什么建议?
答案 0 :(得分:4)
如果是数据,您可以为它创建一个虚拟模型:
# app/models/ugly_fugly.rb
class UglyFugly
def self.fetch
{ foo: 'bar' }
end
# or if you want it as a string, you could do:
{ foo: 'bar' }.to_json
end
然后在你的控制器中抓住它:
def index
@uglies = UglyFugly.fetch
end
最好的部分是,它很容易重构,很容易快速入侵,并且实际上仍然坚持使用Rails风格的MVC。
答案 1 :(得分:1)
您可以在新文件中创建辅助方法,然后将其包含在控制器中,如下所示:
your_helper.rb
module YourHelper
def json_code
#logic
end
end
your_controller.rb
class YouController < ApplicationController
include YourHelper
end