Я пытаюсь создать провайдер для oEmbed в Rails 4 Создаются маршрут, контроллер и действие.
Но я не могу создать объект с параметрами, которые нужны для oembed (например, тип, версия, html,...)
Я пытался сделать это следующим образом:
class ServicesController < ApplicationController
def oembed
# get project ID
url = params[:url].split("/")
project_id = url[4]
@project = Project.find(project_id)
html = render_to_string :partial => "projects/oembed", :formats => [:html], :locals => { :project => @
# here's the problem:
oembed_response["type"] = "rich"
oembed_response["version"] = "1.0"
oembed_response["title"] = @project.name
oembed_response["html"] = html
respond_to do | format |
if(@project)
format.html { render :text => "Test" }
format.json { render json: oembed_response, status: :ok }
format.xml { render xml: oembed_response, status: :ok }
else
# error
end
end
end
end
Я всегда получаю следующую ошибку:
NameError (неопределенная локальная переменная или метод
oembed_response' for #<ServicesController:0x007f9a8be579a0>): app/controllers/services_controller.rb:11:in
oembed'
Как я могу добиться создания пользовательского объекта с необходимыми атрибутами без модели и (строгих) параметров, как это обычно делается?
Я что-то упускаю?
Заранее спасибо!
С уважением,
Крис