Ruby on rails undefined变量

时间:2017-02-26 00:09:29

标签: ruby-on-rails ruby

我正在编写一个新的应用程序,并使用一个旧的应用程序作为如何做我正在创建新页面并使用form_for的参考

<% form_for(store) do |f| %>

<% end %>


def new
  @store = Store.new
end

上面是我的控制器,就像我在上一个应用程序中所做的那样,并且得到了这个错误。我收到这个令我困惑的错误,因为它适用于我制作的其他应用程序。

undefined local variable or method `store' for #<#<Class:0x007fb26b3634c0>:0x007fb26a427ce0>
Did you mean?  @store

我必须在概念上遗漏一些东西。

3 个答案:

答案 0 :(得分:5)

您创建了变量@store,这就是为什么ruby不知道什么是store

<% form_for(@store) do |f| %>

您应阅读错误消息

  

未定义的局部变量或方法`store&#39; ... 你的意思是? @store

答案 1 :(得分:1)

我认为你错过了一些简单的事情......

最近版本的rails发生了变化,它将局部变量传递给包含form_for的部分...并且这样做,在部分视图中不再需要@符号。您可以通过在表单中​​的商店之前添加@符号来修复错误,或者通过创建&#34;翻译&#34;全局变量对当地变量...(借用术语,我自学)。

<%= render 'form', store: @store %>

答案 2 :(得分:0)

在视图中使用@store

<% form_for(@store) do |f| %>

<% end %>