我試圖訪問一個變量在控制器中的觀點,但它總是返回零。這發生在我嘗試過的所有變量上。控制器代碼:從控制器變量總是返回nil鑑於/無法打開文件ROR
@hahaha = '20'
puts @hahaha.inspect
在控制器中返回20。現在,當我把它的觀點:
= @hahaha.inspect
它返回零。我會很高興,如果有人有一個想法.. 另一件事 - 當我調用File.open(文件)的電腦板我總是出現以下錯誤:
No such file or directory @ rb_sysopen the_file
,我想我有一個錯誤的目錄要搜索的文件。但是我應該把它放在哪個默認目錄下?我找遍..
這是控制器代碼(我測試不同的東西,所以我知道這是一個有點亂.. XD)在諮詢
class WelcomeController < ApplicationController
def create
begin
@post = Post.new(params[:post])
rescue Exception => e
if e.message == 'too large'
redirect_to news_path(err: 'file')
else
raise e
end
end
end
def fileSave
@code.save
@code.store!(params[:code])
end
def update_db
#client = Client.find_by(id: 2)
#client.destroy
end
def ip
@user_ip = request.remote_ip()
end
def ha
@haha = 'opa'
end
def renderSlim
contents ='article
| Glad you tried this app, hope you enjoyed the ride.
br
| If you did, you can hit the approval button below.
#enjoy-div
button
div
span'
@he = Slim::Template.new {contents}
@he.render
end
end
class Env
attr_accessor :name
end
env = Env.new
env.name = "test this layout"
contents = '
article
| Glad you tried this app, hope you enjoyed the ride.
br
| If you did, you can hit the approval button below.
#enjoy-div
button
div
span'
layout = '
html
body'
# Create new template object with the layout
l = Slim::Template.new { layout }
# Render the contents passing in the environment: env
# so that it can resolve: = name
c = Slim::Template.new { contents }
puts l.render
@hahaha = '20'
puts @hahaha.inspect
File.open('_enjoy.html.slim')
感謝。 {:
你應該把這個問題放在兩個不同的問題上。 –
你在哪個動作中設置變量,還要共享控制器?並在哪個視圖中訪問它。請分享更多的代碼。 –
是的,我應該把這個在兩個不同的問題,但你看,我猜不會有很多這樣的答案... 基爾提 - 我設置任何類的外部變量,因此在「虛無」。我在Welcome視圖中訪問它,並且這是Welcome控制器。我不認爲從控制器的其他代碼是必要的,但我會用它更新答案。 – victor175