0
如何访问位于我的Sinatra应用程序前端的我的session[:name]
,该课程位于I类在后端?我想这样做,这样我就可以在课堂中存储我所有的信息(人们都在说),以便能够快速更改我的后端消息,以便我可以在不需要转换整个前端的情况下更改它,在那里编码。如何从后端的课程前端访问params [:name]
这里是前端部分:
post '/startgames' do
play = params[:playgame]
session[:name] = params[:name]
session[:age] = params[:age].to_i
if play == "Joe's Trippy Adventure Game" && session[:age] > 17
erb :trippygame1, :locals => {:message1 => "Great #{session[:name]} you are old enough to Play Joe's Trippy Adventure Game.",
:message2 => "One day #{session[:name]} is sitting around Smoking a bong when someone knocks on the door.",
:message3 => "Do you get up and answer it?"}
elsif play == "Joe's Trippy Adventure Game" && session[:age] < 17
erb erb :safari1, :locals => {:message1 => "#{session[:name]} You are to young to play Joe's Trippy game how about a nice Lepoard adventure game?", :age => ""}
elsif play == "Jade's Safari Adventure Game" && session[:age] < 17
erb :safari1, :locals => {:message1 => "#{session[:name]} Chose to play Jade's Safari Adventure Game.", :age =>""}
else play == "Jade's Safari Adventure Game" && session[:age] > 17
erb :safari1, :locals => {:age => "Hey man Aren't You a little old to play this type of game?",
:message1 => "#{session[:name]} Chose to play Jade's Safari Adventure Game."}
end
end
这里是后端部分:
class Start_messages
def welcome
"Welcome To Joe's Games."
end
def name_age
"Enter your name & age to start."
end
def to_start_jade
"So you wanna play Jade's Safari Adventure game ?"
end
def to_start_joe
"If you want to play Joe's Trippy Adventure Game"
end
def start_joe
"Great #{session[:name]} you are old enough to Play Joe's Trippy Adventure Game."
end
end
我真的希望能够保留所有的信息在一个类中,而不是硬编码在前端。另外,它会更容易在我的后端进行测试,因为我还没有开始测试前端的东西呢...我学习TDD所以测试测试测试:)
听起来像是你需要的是参数化的消息,如建议,搜索“sinatra i18n”或者推出你自己较简单的解决方案,例如,而不是简单的字符串,你的消息将会是模板,或者你传递params的方法。 –