未定义的局部变量或方法`hej'

jes*_*per 0 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

你好,我对ruby on rails是全新的.

我收到此错误:未定义的局部变量或方法`hej'

在我的application.html.erb我有:

 <%=hej%>
Run Code Online (Sandbox Code Playgroud)

并在application.controller我有这个:

class ApplicationController < ActionController::Base
    def index
       hej = "Hej hans" #also tried @hej = "Hej hans"
    end
end
Run Code Online (Sandbox Code Playgroud)

__URL /家/索引

Ric*_*dan 5

您在控制器中将hej设置为局部变量,因此在视图中不可用.当您使用=为其赋值时,方法中的非大写单词(如'hej')将被视为局部变量.如果你想让它可用于其他方法,并且在Rails中可以看到它们,你需要通过调用'@hej'而不是'hej'来使它成为一个实例变量.要在Rails的视图中调用该实例变量,您需要使用其全名"@hej" - @符号很重要.

需要是:

def index
  @hej = "Hej hans"
end
Run Code Online (Sandbox Code Playgroud)

在视野中

<%= @hej %>
Run Code Online (Sandbox Code Playgroud)