首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Polls#new中的轮询-- nil:NilClass的未定义方法‘`polls’

Polls#new中的轮询-- nil:NilClass的未定义方法‘`polls’
EN

Stack Overflow用户
提问于 2017-12-27 07:43:46
回答 1查看 57关注 0票数 0

你好,我必须开发一个类似投票的应用程序,我已经开发了表单/问题/答案,现在我必须让我的表单‘可回答’,所以我创建了一个投票模型GoogleForm (一个表单has_many投票和一个投票属于一个表单)。我有一个错误,https://projet.../formulaires/131/polls/new,我不知道如何处理它。

我的routes.rb:

代码语言:javascript
复制
  resources :formulaires do
     resources :polls
  end

我的polls_controller:

代码语言:javascript
复制
def index
    @polls = @formulaire.polls.order("created_at DESC")
end

def show
end

def new
  @poll = Poll.new

end

def create
    @poll = @formulaire.poll.new(poll_params)
    @polls = @formulaire.polls.order("created_at DESC")

    if @poll.save
       redirect_to formulaire_polls_path(@formulaire)
    end
end

def poll_params
  params.require(:poll).permit(:formulaire_id, :question_id, :answer_id, :nom) 
end

end

和我的polls/_form视图来测试它:

代码语言:javascript
复制
  <%= form_for([@formulaire, @formulaire.polls.new]) do |f| %>

<h2> Test</h2>
  <%= f.label :nom %>
  <%= f.submit %>
<% end %>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-27 07:53:48

代码语言:javascript
复制
@polls = @formulaire.polls.order("created_at DESC")

您在何处定义了@formulaire

你需要做的..。

代码语言:javascript
复制
@formulaire = Formulaire.find(params[:formulaire_id]
@polls = @formulaire.polls.order("created_at DESC")

您的create方法中需要有相同的行。实际上,在所有CRUD方法之前调用的before_action中分配@formulaire可能是有意义的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47984825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档