2015年11月15日 星期日

Cloud9-RoR-where條件

參考文章:http://guides.rubyonrails.org/active_record_querying.html
連結內容說的還挺清楚的,我只用到一些比較簡單的部份而已。

修改routes.rb檔,在最前面加上
  root :to => "mains#index"
  resources :mains

新增一個mains_controller,當前台用
$ rails g controller mains

編輯mains_controller.rb,內容如下
  def index
    @mains = Event.where("public_date <= ?", Time.now)
  end
  
  def show
    @main = Event.find(params[:id])
  end  
  
  def origin
  end
  
  def service
  end
  
  def publ_index
    @mains = Event.where("cnttype = ?", 1)
  end
  
  def publ_content
    @main = Event.find(params[:id])
  end
  
  def case_index
    @mains = Event.where("cnttype = ?", 2)
  end
  
  def case_content
    @main = Event.find(params[:id])
  end

在view/mains/底下新增index.html.erb檔,內容如下
<ul>
<% @mains.each do |event| %>
  <li>
  <%= event.title %>
    <% event.categories.where(status: 1).each do |g| %>
      <%= g.cname %>
   <% end %>
  <%= link_to "Show", main_path(event) %>
  </li>
<% end %>
</ul>

再新增show.html.erb檔,內容如下
<p><%= @main.title %></p>
<p>
<% @main.categories.each do |g| %>
  <%= g.cname %>
<% end %>
</p>
<table border="0">
  <tr>
    <td><%= @main.public_date %></td>
    <td><%= @main.author %></td>
  </tr>
</table>
<p><%= simple_format(@main.description) %></p>

<p><%= link_to 'Back to index', mains_path %></p>

前台的首頁就大概草擬好了。

沒有留言:

張貼留言