用不好 devise 说明对 Rails 还不够了解,仔细读一下 devise 的代码对增强 rails 能力很有好处的。
别用 railsinstaller,应该从rubyinstall 安装开始,可以参考我的这个帖子。
我现在的做法是写一个纯 csv 导出,然后用d3.csv,画出表格,正好和你方向相反。。。
class CcbReviewsController < ApplicationController
def index
@q = CcbReview.includes(:change_owner).search(params[:q])
@ccb_reviews = @q.result.paginate(page: params[:page], per_page: 10)
respond_to do |format|
format.html
format.json
format.csv do
render_csv_header :wip.to_s
csv_res = CSV.generate do |csv|
csv << ['CCB Number', 'State', 'Title', 'Description', 'Reason', 'Purpose']
CcbReview.all.find_each do |ccb_review|
values = []
values << ccb_review.ccb_number
values << ccb_review.state
values << ccb_review.title
values << ccb_review.description
values << ccb_review.reason
values << ccb_review.purpose
csv << values
end
end
send_data "\xEF\xBB\xBF" << csv_res
end
end
end
private
def render_csv_header(filename = nil)
filename ||= params[:action]
filename += '.csv'
if request.env['HTTP_USER_AGENT'] =~ /msie/i
headers['Pragma'] = 'public'
headers['Content-type'] = 'text/plain'
headers['Cache-Control'] = 'no-cache, must-revalidate, post-check=0, pre-check=0'
headers['Content-Disposition'] = "attachment; filename=\"#{filename}\""
headers['Expires'] = '0'
else
headers['Content-Type'] ||= 'text/csv'
headers['Content-Disposition'] = "attachment; filename=\"#{filename}\""
end
end
end
#22 楼 @rubyu2 我已经升级了一个 project 到 Rails 5.0.0.beta1,下面几个 Gem 要使用 master 版:
gem 'will_paginate', git: 'https://github.com/jonatack/will_paginate'
gem 'devise', git: 'https://github.com/plataformatec/devise'
gem 'ransack', git: 'https://github.com/activerecord-hackery/ransack'
其余还好,还有就是skip_before_filter
要写skip_before_action
,API 模式下似乎方法verify_authenticity_token
也去除了。
Web 的本质是一种无缝的发布方式,如果 Native 应用可以做到在发现 bug 或者上新功能时,没有感觉的直接推给用户,一天做 20 次以上,我觉得 Web 的优势就不大了。
求上面 Guru Rank - 7 的 gurdigger 个人链接。。
Association named 'value_cn'
你是不是把字段名当作 association 名字用了啊?!
#6 楼 @blacktulip 和 ActiveRecord 类似功能的 node.js npm 有推荐么?
相当酷!为何要用 golang 而不是保持 sinatra 呢?这样我还懂点 sinatra。。。
#15 楼 @xmonkeycn 好黑。。
#27 楼 @blacktulip react-native-guide不错,里面其实 React 内容很多。
React, React Native, Ember.js 都很好啊,我更希望被叫做 ES2015 程序员。
#22 楼 @leomustafa 用 sass 吧,bootstrap 4 用 sass 了,node. js 这边都用 sass 了(lib-sass)
推荐参考一下railscasts-china
class Episode < ActiveRecord::Base
scope :by_tag, lambda { |tag_name| joins(:tags).where("tags.name = ?", tag_name) unless tag_name.blank? }
scope :by_keywords, lambda { |keywords| where("REGEXP_LIKE(episodes.name, ?,'i')", "#{keywords.split(" ").join('|')}") unless keywords.blank? }
scope :published, lambda { where(publish: true) }
end
class EpisodesController < ApplicationController
def index
@episodes = Episode.published.by_tag(params[:tag_id]).by_keywords(params[:query]).page(params[:page])
respond_to do |format|
format.html
format.rss
end
end
end
#19 楼 @leomustafa bootstrap 用的人那么多,不可能有这样的低级错误啦,你应该用bootstrap-sass,然后从bootswatch拷贝一份对应的已经调好的样式出来用。这两个才是官方 gems,支持最新 3.2.6。
#65 楼 @hlltc 那就需要调用material_list
接口,得到 image 素材的命令是wechat material_list image 0 10
,详细问题还是在wechat issues里面讨论吧。
Deliver Audacious Web Apps with Ember 2,9 美刀,便宜啊便宜!
Windows 推荐 puma,unicorn 从来就是不支持的。
#14 楼 @yzdel2000 好的,我错了,PHP 是最佳语言。。
#19 楼 @so_zengtao 多谢,这个 gem 确实入门不错,关键简单,但又不是太简单。。
#8 楼 @yzdel2000 确实 5.6 还是支持的,不过貌似 7.0 的确没有,对 PHP 不熟,只是随口一说,听众眼睛雪亮啊!
买买买!