【发布时间】:2016-07-19 21:30:01
【问题描述】:
我正在创建一个新闻源并使用 Active Model Serializers gem 设置一个 JSON 响应。我想渲染一个常规的 ERB 部分并将其作为 JSON 中的属性之一。
控制器/posts_controller.rb:
def index
@posts = Post.all
respond_to do |format|
format.json { render json: @posts.to_a, each_serializer: PostSerializer }
end
end
序列化器/post_serializer.rb:
def event_html
ApplicationController.new.render_to_string(:partial => 'events/event', :locals => { :event => object.event }) if object.event
end
不幸的是,我的视图中有一些使用帮助程序和请求对象(url)的代码,当我尝试执行此操作时出现错误。
事件/_event.html.erb:
<div class="event">
<h4 class="title"><%= link_to event.name, event %></h4>
<div class="date"><%= date_range event.start_at, event.end_at %></div>
<div class="description"><%= event.description.html_safe %></div>
</div>
undefined method `host' for nil:NilClass
有解决这个问题的好方法的想法吗?
【问题讨论】:
-
你能分享完整的错误堆栈跟踪吗?
标签: ruby-on-rails-4 active-model-serializers