読者です 読者をやめる 読者になる 読者になる

uoz 作業日記

様々な作業の記録を共有するブログです。

サイト作成周りの処理修正 [簡単webサイト]

------------------------------------------------------
まず、ユーザ追加時にユーザ専用フォルダを作る際、
emailを元にフォルダを作ってたのをユーザ名を元に作るように
 
ついでに、サイトを作るとき、フォルダをコピーするのではなく、tarファイルを回答して作るように
 
 
以下のファイルを修正
/app/controllers/pages_controller.rb

省略
 
  # POST /pages
  # POST /pages.json
  def create
    @page = Page.new(params[:page])
    @page.user = current_user
    
    #ページの情報をDBへ格納
    cms_name = "cmsimple"
    uname =  current_user.
name.gsub("@","at").gsub("\.","") #修正点
    user_page_url = "/var/www/html/users/" +  uname
    s1 = user_page_url + "/" +  cms_name
    s2 = user_page_url + "/" + @page.title
    @page.link = "ドメイン/users/" + uname + "/" + @page.title 
    @page.path = s2
    
    respond_to do |format|
      if @page.save
        #この辺でオリジナルファイルからのコピーなんかをやる
        begin
          require "fileutils"
          FileUtils.makedirs(user_page_url)   
          command0 = 'tar xzpf /home/ユーザ/アプリ/private/originals/'+cms_name+'.tgz -C '+user_page_url
          system(command0) rescue config.logger.error 
#修正点
          File.rename(s1,s2)
        rescue
          config.logger.error  $!.inspect #ログとり
        end
        
        format.html { redirect_to @page, :notice => 'ページ作成に成功しました。' }
        format.json { render :json => @page, :status => :created, :location => @page }
      else
        format.html { render :action => "new" }
        format.json { render :json => @page.errors, :status => :unprocessable_entity }
      end
    end
  rescue 
    config.logger.error  $!.inspect #ログとり
  end
 
省略
 
これでOK