2014-01-26 123 views
0

你好,我很難理解爲什麼參數不傳遞給視圖。Ruby on Rails將控制器變量傳遞給查看

控制器

class UsersController < ApplicationController 
    include UsersHelper 

    before_filter :set_user, :set_categories 
    def show 
    @test = get_test() 
    end 
end 

輔助

module UsersHelper 
    def get_test() 
    puts "hello world" 
    end 
end 

視圖

test: <%= @test %> 

什麼正在被顯示test:

有人請給我一些幫助,爲什麼hello world沒有被顯示?謝謝!

- 編輯 - 好像我不能連通過任何變量消息,我加的觀點 ...

控制器

@message = "How are you" 

視圖

<p><%= @message %></p> 

How are you未顯示。

+0

您是否在相關操作中定義了「@ message」? – BroiSatse

回答

3

在您的get_test函數中,您正在打印一個字符串而不是返回字符串。要返回字符串:

module UsersHelper 
    def get_test() 
    "hello world" 
    end 
end 
+0

謝謝你解決了這個問題!你會碰巧知道如何解決我的編輯? – AustinT

+0

你將如何返回一個變量,它會只是'@ hello =「hello world」'?或者只是hello =「hello world」,它會返回本地變量? – AustinT

+0

對不起。我不太瞭解你。你的意思是將一個字符串分配給一個變量?要從函數返回一個字符串,你可以返回「hello world」。爲了讓視圖訪問變量,你經常需要將它分配給一個實例變量,即@hello =「hello world」。沒有@的'hello'將是局部變量。 – revolver

相關問題