如何为Rails作贡献
例增加rich_text field generators
下载https://github.com/rails/rails
打开atom,在
rails/railties/lib/rails/generators/generated_attribute.rb
内的field_type方法上添加when :rich_text then :rich_text_area
这样就增加了attachment和attachments fields generators。
可以使用
rails generate model Post name:rich_text
#产生attachment, 就是在model上增加:has_rich_text
新建rails new rich_text,
打开文件Gemfile,更改rails包的path:
#例如:
gem 'rails', path: "../rails"
然后bundle install就会更新gem。
在新的程序上使用手脚架:
rails g scaffold Post body:text_area
会自动在_form.html.erb上添加:
<div class="field">
<%= form.label :body %>
<%= form.rich_text_area :body%>
</div>
但是没有在model上添加has_rich_area :body,可以通过在源代码的
activerecord/lib/rails/generators/active_record/model/template/model.rb.tt上增加下面的代码:
<% attributes.select(&:rich_text?).each do |attribute| %>
has_rich_text :<%= attribute.name %>
<% end %>
在同目录generated_attribute.rb加上
def rich_text?
tyep == :rich_text
end
然后在terminal上:
//删除之前建立的手脚架
rails destroy scaffold Post
//重新建立
rails g scaffold scaffold Post body:rich_text
测试完成后,即可到git push request