2012-01-23 41 views
0

我希望在动画下按下html按钮时可以全屏显示我的Flash动画。我有一个../views/layout/viewer.rhtml(这个加载所有菜单)。我有./views/layout/fullscreen.rhtml(这个没有菜单,它只有100%的宽度和100%的高度以及flash对象)。我想避免使用Javascript方法。Ruby-在不更改URL的情况下更改按钮释放的布局

我有一个show_controller:

layout "viewer" 

def index 
    h = Histoire.find_by_label(params[:story_name]) 
    # Checks if current_user has a subscription which allows the story whose ID is passed by param to be seen 
    if h.price != 0 && (current_user.nil? || current_user.abonnement.histoires.delete_if{|histoire| histoire.label != params[:story_name]}.length == 0) 
     flash[:notice] = "Sorry, your subscription doesn't allow you to access this story, please contact sales service" 
     redirect_to index_url 
    else 

     @histoire = Histoire.find_by_label(params[:story_name]) 
     render :action => :show 
    end 
    end 

我有一个闪光对象:

我的Flash动画需要有一个固定的URL来运行:/显示/ Story_Name,目前的布局是观众。当我按FullScreen按钮时,我希望Ruby将布局从“查看器”更改为“全屏”。

当按下按钮时,是否有方法将布局从查看器更改为全屏?

我是这个问题的初学者。非常感谢能帮助我的人。

回答

0

Ruby代码在服务器端执行,除非您重新加载页面以再次调用控制器,否则它将不会执行任何操作,例如使用您可能在视图模板中使用的“layout_mode”参数。

我会用一个不显眼的JavaScript方式:

  • 使用链接重新加载页面,并更改layout_mode到全屏。这种行为允许使用禁用JavaScript的用户访问他全屏切换功能
  • 使用jQuery所以它改变单击布局无需重新加载页面的普通用户

旁注修改此链接:我会建议你避免用法语命名你的模型对象,因为Rails强烈的面向会议并广泛使用英语变形:Rails将故事视为一个集合,并将故事视为一个单独的成员。它会与“咕噜”和“joujou”但不会与“hibou”,“caillou”,“chou”...;)

+0

更好迟到比从不多谢谢你的回答和你的意见。 – Pierre

相关问题