rails 开发随手记 5

这篇在草稿箱里躺了好久

rails ajax api 授权验证

 我起初想通过:

def output
    if signed_in?
      respond_to do |format|
        format.js 
      end
    end
end

来防止未经授权的用户访问ajax api,结果发现总是有问题,即使未登录也会请求成功。

花了几个小时,才搞明白,原来是rails的默认机制搞的鬼,即使你显示的写了respond_to,他也有内置的default_render,会渲染对应的文件。于是把output.js.erb删除,改成

  def output
    if signed_in?
      @userType=getUserType
      respond_to do |format|
        format.js {render :partial => 'output1'}
      end
    end
   end

即可,记得要把对应的文件名前面加上下划线:_output1.js.erb 又是rails的命名机制搞的鬼。

---------------------------------------------------------------------------分割--------------------------------------------------------------------------------------------------------------------------------------

bootstrap  Dynamic Add Tab 动态添加标签页

这个又是折腾了我很久很久,到现在依旧不知“不然”,不明白自己的代码为什么有问题,我只有一个推测。反正现在这个能用了,就拿过来用吧。

注意:tab的id,href不能出现重复

<ul class="nav nav-tabs" id="myTab">
  <li><a href="#home" data-toggle="tab">首页</a></li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane" id="home">
    <h1>Welcome! !</h1>
 </div>
</div>
<script>
    
    $(function () {
        $('#myTab a:first').tab('show');
    });
    $.getScript('<%= sidebar_path+"?sb=sb" %>');

    $("#my-side-bar").on("click", "a", function(event){
            var ele=$(this);

            if(!ele.data('hasTab'))
            {
                addTab(ele.attr('id'))  ;
                ele.data('hasTab',1);
            }
            $('#myTab a[href="#'+ele.attr('id')+'Tab"]').tab('show');
            
        }
    );
    function addTab(id)
    {
            $('div.active').removeClass('active').removeClass('in');
            $('li.active').removeClass('active');

            $('#myTabContent').append('<div class="tab-pane in active" id="'+id+'Tab"><p> Loading content ...</p></div>');
            $('#myTab').append('<li><a href="#'+id+'Tab" data-toggle="tab">Tab Name</a></li>');
            $('#myTab a:last').tab('show');
    
    }
    

</script>

效果就是一个侧边栏,然后点击不同的链接会有不同的标签页

posted @ 2013-06-01 14:40  jzlikewei  阅读(244)  评论(0编辑  收藏  举报