Rails 在 Rails 中,两个 controller 如何共用一个实例变量?

whitecrow · April 18, 2012 · Last by whitecrow replied at April 18, 2012 · 4027 hits

我有两个 controller:pages controller 和 rooms controller.

在 pages 下有一个 view: pages/last.html.erb rooms controller 中定义了一个 show 方法 def show @rooms=RoomType.all respond_to do |format| format.html { redirect_to 'pages/last'} #跳转到 last.html.erb 页面 end end

请问:我现在想在 pages/last.html.erb 中取到@rooms,我应该怎么做呢??

这种情况不该用 redirect 而是应该直接直接 render 那边的 view

不能共用,再取一次

请问是这样 render 吗: pages/last.html.erb中:<%= render :template => "rooms/show"%> rooms/show.html.erb:<%= @room %> show 方法不变。

很奇怪如果 rooms/show.html.erb:<%= @room=Room.all %>可以取到值 但是单纯的<%= @room %>取不到 show 方法里的@room

在 pages controller 里面写一句@rooms=RoomType.all 就可以了

@room = ...
session[:room] = @room
...
...
...
@room = session[:room]

#5 楼 @ywjno session 不要放大对象

谢谢大家嘞 ^.^

You need to Sign in before reply, if you don't have an account, please Sign up first.