2014年1月28日 星期二
rspec
git
https://github.com/rspec/rspec-rails
ihower book
http://ihower.tw/rails3/testing.html
ihower slide
http://www.slideshare.net/ihower/rspec-7394497
2014年1月21日 星期二
rails 讓使用者可以訂閱 RSS
1.在LinksController
def feed@links = Link.all(:select => "title, url, id, description, updated_at", :order => "updated_at DESC", :limit => 20)respond_to do |format|format.htmlformat.rss { render :layout => false }endend
2.新增app/view/links/feed.rss.builder
xml.instruct! :xml, :version => "1.0"xml.rss :version => "2.0" doxml.channel doxml.title "learn rails"xml.description "study"xml.link links_urlfor link in @linksxml.item doxml.id link.idxml.title link.titlexml.description link.descriptionxml.pubDate link.updated_at.to_s(:rfc822)xml.link link.urlendendendend
3.html連結
<%= link_to("rss" , feed_links_path(rss))%>
如此 即可產生一可讓使用者訂閱之rss
acts_as_commentable 在每則網址下面留言
gem 'acts_as_commentable'
rails g comment
rake db:migrate
1.新增 CommentsController
class CommentsController < ApplicationControllerdef create@link = Link.find(params[:link_id])comment = Comment.new( :title => "", :comment => params[:comment][:comment])if current_user != nilcomment.user_id = current_user.idendlogger << params[:comment]@link.add_comment commentredirect_to root_pathendend
:comment => params[:comment][:comment]) 這邊這樣用是因為 view 用simple_form_for 後來帶過來的是 comment={comment={msg}} 之後再研究看看正常寫法
2. view
<%= simple_form_for(@comment, :url => comments_path(@comment, :link_id => link )) do |f| %><div><%= f.input :comment , :label => "--" %><%= f.button :submit , :class => "btn btn-info"%></div><% end %>
2014年1月20日 星期一
embedly- 使用者填入網址,網站自動抓標題和簡介
使用者可以填入網址,網站自動抓標題和簡介 http://embed.ly/docs/tutorials/jquery_preview
參考解法
Xdite 解法
由後端抓
1. 安裝 embedly https://github.com/embedly/embedly-ruby
gem install embedly
產生時要先有url , 後續再修改model
def create
@link = current_user.links.build(link_params)
@link.save
redirect_to root_path
end
private
def link_params
params.require(:link).permit(:url,:user_id)
end
3. 修改link model
用after_create , 再來update由embedly抓回來的資料
用after_create , 再來update由embedly抓回來的資料
class Link < ActiveRecord::Base belongs_to :user after_create :update_from_embedly def update_from_embedly link = self embedly_api = Embedly::API.new(:key => Setting.embedly_key) embedly_objs = embedly_api.oembed :url => link.url embedly_obj = embedly_objs[0] response_data = embedly_obj.marshal_dump link.title = response_data[:title] link.link_type = response_data[:type] link.provider_name = response_data[:provider_name] link.provider_url = response_data[:provider_url] link.description = response_data[:description] link.thumbnail_url = response_data[:thumbnail_url] link.thumbnail_width = response_data[:thumbnail_width] link.thumbnail_height = response_data[:thumbnail_height] link.save end end
2014年1月19日 星期日
Settingslogic
用Settingslogic來整理開發的config 設定
使用這個
https://github.com/binarylogic/settingslogic
安裝
gem install settingslogic
使用
1. define class
放在/app/model/setting.rb 下
連結到"#{Rails.root}/config/config.yml" 這個設定
# -*- encoding : utf-8 -*- class Setting < Settingslogic source "#{Rails.root}/config/config.yml" namespace Rails.env end2.撰寫設定檔config.yml
defaults: &defaults app_name: "amyilake" domain: "http://amyilake.dev" facebook_app_id: facebook_secret: hipchat_token: hipchat_room_name: admin_emails: - "" google_analytics_key: "" default_logo_url: "/logo.png" email_sender: "" embedly_key: "" development: <<: *defaults test: <<: *defaults production: <<: *defaults
要注意yml格式 不能用tab
要用兩個空格 注意縮排
所以複製貼上常會有問題
2014年1月8日 星期三
sed , awk
切割文件
awk '/^01/{x="'file.'"++i;}{print > x;}' file
此指令會以01開頭的行數為依據 切割檔案原檔案file 切割產生 file.1 ,file.2 ............
刪除行數
sed -e '1d' file > file-temp
刪除file的第一行 存在file-temp其他
shell中单引号、双引号、反引号的区别(转自互联网)
http://blog.csdn.net/wyyzsl212328/article/details/8501650
訂閱:
文章 (Atom)