我希望在我的模型中创建一个动态类,我想要的简单解释如下。
我有一个名为' feed'有一个' url'每个条目中的字段,我试图在我的模型中创建一个类,调用每个提要条目的相应URL。
e.g。饲料入口“lolcats'会打电话给网址www.lolcats.com' 在课堂内
以下是我在feed.rb模型中的当前课程
def boom
response = self.class.get("/tVv8nTahbhgkyIUW8ByCe0-7/last_ready_run/data?&format=json")
@elements = response.parsed_response["image"]
@parsed = @elements.collect { |e| e['url'] }
end
它完美运行并显示所有数据,但显然非常静态和笨重 - 因为我不想开始为我想要呼叫的每个Feed添加单独的类。
在我看来,我有
<% @boom.each do |img| %>
<div class="grid-item">
<%= image_tag(img) %>
</div>
<% end %>
我只是不知道怎么做,任何帮助都会很棒!
答案 0 :(得分:0)
我不想开始为我想要呼叫的每个Feed添加单独的课程。
我认为您的意思是个人 方法 。
您可以传入该网址,但我认为您不希望将/tVv8nTahbhgkyIUW8ByCe0-7/last_ready_run/data?&format=json
作为一个参数传递出去,这是有充分理由的。
你提到了映射,所以我认为*你想要的是一个类常量:
class Feed < ActiveRecord::Base
FEEDS = { ready_run:'/tVv8nTahbhgkyIUW8ByCe0-7/last_ready_run/data?&format=json',
other_feed:'....',
... }
def boom_for feed
response = self.class.get(FEEDS[feed])
@elements = response.parsed_response["image"]
@parsed = @elements.collect { |e| e['url'] }
end
要使用它,
boom_for :ready_run
我尝试在模型中创建一个类,调用每个Feed条目的相应URL。
我认为你的意思是制作 方法 。