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

uoz 作業日記

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

サイトを作るとき、cmsimpleとpukiwikiを選べるようにした[簡単webサイト]

--------------------------------------------------
・使用条件を加える
現在、routeをいじって、ユーザ登録しようとすると、利用規約を表示するようにしている。
そこの文を変えた


--------------------------------------------------
・トップにQRコードを貼る

app/assets/images/以下に画像をおいて、
 
 
省略
<%= link_to(image_tag ("QRcode.gif"), {:controller => 'devise_session', :action => 'new'}) %>
省略
 
とするとできた

--------------------------------------------------
pukiwikiも入れられるように

公式を参考に
 
パーミッションを設定した後に、
 
$ tar czpf pukiwiki.tgz  pukiwiki 
 
として固めて、
/private/originals
にいれた
 
--------------------------------------------------
・pagesのビューとコントローラの修正
 
/app/views/pages/_form.html.hrb
 
 
<%= form_for(@page) do |f| %>
  <% if @page.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@page.errors.count, "error") %> prohibited this page from being saved:</h2>

      <ul>
      <% @page.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    サイト名<br />
    <%= f.text_field :title %>
  </div>
    サイトの種類<br />
  <div class="field">
    <%= f.select :cms, options_for_select([["cmsimple","cmsimple"],["pukiwiki","pukiwiki"]]) %> #追加箇所
  </div> 

  <div class="actions">
    <%= f.submit%>
  </div>
<% end %>
 
とりあえず、めんどくさいからcmsの種類のモデルは作らない
これで動いた
 
/app/controllers/pages_controller.rb

省略
 # POST /pages
  # POST /pages.json
  def create
    @page = Page.new(params[:page])
    @page.user = current_user
    
    #ページの情報をDBへ格納
    cms_name = @page.cms #修正箇所
    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 = "pages-me.com/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/saizo/site2/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
省略

動いた!