0

こんにちは、私はRubyonRailsを初めて使用します。

このエラーが発生します:未定義のローカル変数またはメソッド `hej '

私のapplication.html.erbには次のものがあります。

 <%=hej%>

そしてapplication.controllerで私はこれを持っています:

class ApplicationController < ActionController::Base
    def index
       hej = "Hej hans" #also tried @hej = "Hej hans"
    end
end

__URL / home / index

4

2 に答える 2

5

ここでは、コントローラーでhejをローカル変数として設定しているため、ビューでは使用できません。メソッド内の大文字でない単語(ここでは「hej」など)は、=を使用して値を割り当てると、ローカル変数として扱われます。これを他のメソッドで使用できるようにしたい場合、およびRails to theビューで、「hej」だけでなく「@hej」を呼び出してインスタンス変数にする必要があります。Railsのビューでそのインスタンス変数を呼び出すには、フルネーム'@hej'を使用する必要があります。@記号は重要です。

する必要があります:

def index
  @hej = "Hej hans"
end

ビューで

<%= @hej %>
于 2013-03-24T09:19:50.830 に答える
2

hejはローカル変数です。それらはそのスコープ(現在のブロック)内にのみ存在し、ビューでは使用できません。

@hejはインスタンス変数であり、クラス内のすべてのメソッドで使用できます。それはあなたの見解にも利用可能です。また、ビューで@hejを使用して呼び出す必要があります。

hej変数(@hej)に@を追加する必要があります。

于 2013-03-24T09:28:25.503 に答える