expose_decorated不适用于posts变量。为什么?

时间:2016-08-21 16:31:39

标签: ruby-on-rails draper decent-exposure

我尝试在我的项目中使用draper,decent_exposure和decent_decoration gems,但有些东西无法正常工作。这很奇怪,因为我刚从antoher项目中复制了这段代码。

我的控制器是:

class PostsController < ApplicationController

  expose_decorated(:post)
  expose_decorated(:posts)

  def create
    if post.save
      redirect_to post_path(post)
    else
      render :new
    end
  end

  def update
    if post.update(post_params)
      redirect_to post_path(post)
    else
      render :edit
    end
  end

  def destroy
    post.destroy
    redirect_to posts_path
  end

  private

    def post_params
      params.require(:post).permit(:title, :content)
    end

end

这是索引视图

%h1 Blog

- posts.each do |post|
  %p= post.title
  %p= post.content

我收到此错误:

undefined method `map' for #<Post:0x007f7df88dcca0>
Did you mean?  tap

1 个答案:

答案 0 :(得分:0)

我明白了。我没有工作,因为我使用版本3.0.0的decent_exposure而decent_decoration与版本&gt; = 2.0兼容。

我将decent_exposure的版本更改为2.3,它可以正常工作。