- 浏览: 2076746 次
- 性别:
- 来自: NYC
文章分类
- 全部博客 (628)
- Linux (53)
- RubyOnRails (294)
- HTML (8)
- 手册指南 (5)
- Mysql (14)
- PHP (3)
- Rails 汇总 (13)
- 读书 (22)
- plugin 插件介绍与应用 (12)
- Flex (2)
- Ruby技巧 (7)
- Gem包介绍 (1)
- javascript Jquery ext prototype (21)
- IT生活 (6)
- 小工具 (4)
- PHP 部署 drupal (1)
- javascript Jquery sort plugin 插件 (2)
- iphone siri ios (1)
- Ruby On Rails (106)
- 编程概念 (1)
- Unit Test (4)
- Ruby 1.9 (24)
- rake (1)
- Postgresql (6)
- ruby (5)
- respond_to? (1)
- method_missing (1)
- git (8)
- Rspec (1)
- ios (1)
- jquery (1)
- Sinatra (1)
最新评论
-
dadadada2x:
user模型里加上 protected def email ...
流行的权限管理 gem devise的定制 -
Sev7en_jun:
shrekting 写道var pattern = /^(0| ...
强悍的ip格式 正则表达式验证 -
jiasanshou:
好文章!!!
RPM包rpmbuild SPEC文件深度说明 -
寻得乐中乐:
link_to其实就是个a标签,使用css控制,添加一个参数: ...
Rails在link_to中加参数 -
aiafei0001:
完全看不懂,不知所然.能表达清楚一点?
"$ is not defined" 的问题怎么办
那天看到IE有战友贴了这个书,就想找个时间读读,有收获随笔记下来收获
据说这种格式validate可以多个写一起,不用重复
这个nested很多地方有了,codeschool railscast和guide
这个是关联的,就是相当于project_id:integer
初始化一个关联实例
没记着steps
let和before的差别是,before是所有context都加载,let只有context里用到user才加载
其中用到的Factory Girl定义如下
rspec要加载上Fatorygirl定义的User,还要处理一个lib调用include上
Rspec用到了sign_in所以要加载devise到rspec
说到rspec看这个更舒服
http://pure-rspec-scotruby.heroku.com/
cucumber里检查页面是否存在元素context_contain capybara的语法
检查是否admin
据说这种格式validate可以多个写一起,不用重复
validates :description, :presence => true, :length => { :minimum => 10 }
这个nested很多地方有了,codeschool railscast和guide
project_ticket_path(@project, @ticket)
这个是关联的,就是相当于project_id:integer
rails generate model ticket title:string description:text project:references
初始化一个关联实例
def new @ticket = @project.tickets.build end
<% @project.tickets.each do |ticket| %> <li> #<%= ticket.id %> - <%= link_to ticket.title, [@project, ticket] %>
没记着steps
Given /^I am signed in as them$/ do steps(%Q{ Given I am on the homepage When I follow "Sign in" And I fill in "Email" with "#{@user.email}" And I fill in "Password" with "password" And I press "Sign in" Then I should see "Signed in successfully." }) end
let和before的差别是,before是所有context都加载,let只有context里用到user才加载
describe ProjectsController do let(:user) do user = Factory(:user) user.confirm! user end context "standard users" do it "cannot access the new action" do sign_in(:user, user) end end context "standard users" do it "cannot access the new action" do sign_in(:user, user) get :new response.should redirect_to(root_path) flash[:alert].should eql("You must be an admin to do that.") end end { "new" => "get", "create" => "post", "edit" => "get", "update" => "put", "destroy" => "delete" }.each do |action, method| it "cannot access the #{action} action" do sign_in(:user, user) send(method, action.dup, :id => project.id) response.should redirect_to(root_path) flash[:alert].should eql("You must be an admin to do that.") end end ... end
其中用到的Factory Girl定义如下
#factories/user_factory.rb: Factory.define :user do |user| user.sequence(:email) { |n| "user#{n}@ticketee.com" } user.password "password" user.password_confirmation "password" end #其中sequence用于产生不重复的数字,以便生成email不重复
rspec要加载上Fatorygirl定义的User,还要处理一个lib调用include上
#spec/support/factories.rb #spec/controllers/projects_controller_spec.rb Dir[Rails.root + "factories/*.rb"].each do |file| require file end
Rspec用到了sign_in所以要加载devise到rspec
RSpec.configure do |config| config.mock_with :rspec config.include Devise::TestHelpers end
说到rspec看这个更舒服
http://pure-rspec-scotruby.heroku.com/
cucumber里检查页面是否存在元素context_contain capybara的语法
#features/step_definitions/link_steps.rb Then /^I should see the "([^\"]*)" link$/ do |text| page.should(have_css("a", :text => text), "Expected to see the #{text.inspect} link, but did not.") end Then /^I should not see the "([^\"]*)" link$/ do |text| page.should_not(have_css("a", :text => text), "Expected to not see the #{text.inspect} link, but did.") end
检查是否admin
- admins_only do = link_to "New Project", new_project_path def admins_only(&block) block.call if current_user.try(:admin?) nil end
发表评论
-
brew service restart
2013-07-06 22:56 1459brew services restart memcached ... -
git如何合并 多个commit
2013-07-02 20:42 9382需要先搞明白rebase 然后,进这个界面 pick b ... -
rvm create gemset
2013-07-01 09:00 1289rvm ruby-1.9.3-p429 do rvm gems ... -
关于devise结合github通过omniauth登录
2013-06-24 04:47 4165最近写了个github帐户登录Demo: https://gi ... -
cdata 和 xml xmlParseEntityRef: no name 错误
2013-05-04 00:24 5016Problem: An XML parser returns ... -
一目了然 rails html xml encode decode
2013-05-03 23:37 31301.9.2p320 :001 > require ' ... -
使用scope 链接多个where条件
2013-05-02 09:17 2611scope :by_category, (lamb ... -
在rspec里使用 route path
2013-05-01 20:09 1015Rspec.configure do |config| ... -
select_tag default value & options
2013-04-10 21:40 2195#If you are using select_tag ... -
Jquery array remove
2013-04-10 21:38 4544Array.prototype.remove = fu ... -
ruby readline的两种写法
2013-04-09 10:21 912f = File.read('public/file.cs ... -
关于encoding utf-8
2013-04-04 20:55 4091一 gem解决方案 https://github.com/m- ... -
我见过最清楚的解释class_eval 和 instance_eval
2013-04-02 07:06 3336忘了,看一次就能回忆起来 class A # def ... -
multiple provider oauth
2013-04-01 11:13 1319Allowing users to login with mu ... -
oauth github和multiple oauth
2013-04-01 11:08 1552http://railscasts.com/episodes/ ... -
Ruby Jquery 地图,地理信息相关资源
2013-03-22 20:32 939Railscast Geocorder Geocorde ... -
load migrate file and load
2013-03-22 05:52 1002Dir[Rails.root.join('db','mig ... -
Brew update problem
2013-03-22 05:48 1349引用 MBA:~ fortin$ brew update er ... -
Jquery sort table number
2013-03-19 01:01 1144So here is what the column is s ... -
update_all
2013-03-13 02:09 1348Article.limit(2).update_all [&q ...
相关推荐
综上所述,Ruby on Rails的笔记内容涵盖了从安装Rails环境到创建和运行一个简单的Rails项目的基础知识,这些内容对于初学者来说是学习Rails框架的极好入门材料。通过对这些知识点的学习,初学者可以快速了解Rails的...
### Ruby on Rails 笔记知识点总结 #### 一、引言 在《Ruby on Rails笔记》中,作者陈刚分享了他在学习Ruby on Rails过程中的经验与心得。这份笔记不仅包含了作者的学习历程和个人体会,还汇集了他在学习过程中遇到...
<li>Time in one hour: <%= 1.hour.from_now %></li> ``` - 使用循环: ```html <% 3.times do %> ho! ``` **安全输出**: - 使用`h()`方法来转义输出内容,防止XSS攻击: ```html Email: ("Ann&...
本笔记摘录自WDI HKV以及lynda.com的在线Rails教程,旨在提供一个全面且深入的学习指南。 ### 1. **基础概念** - **MVC架构**:Rails采用Model-View-Controller(MVC)设计模式,将业务逻辑(Model)、用户界面...
总的来说,《Elixir in Action》第二版是一本深入学习Elixir语言和实践的宝典,配合作者的笔记和解决方案,将帮助你掌握Elixir的核心概念和技术,从而能够构建出强大且高效的系统。无论你是初涉Elixir,还是希望提升...
3. **辅助方法**:ActionView提供了一系列内置辅助方法,如`link_to`用于创建链接,`form_for`用于构建表单,以及`content_tag`用于生成HTML标签。这些辅助方法简化了HTML生成过程。 4. **布局和部分**:ActionView...
在Rails项目中简单使用github action信息网路:Rails 6.0.0 数据库:PostgreSQL 测试:Rspec笔记# initialize Rails apprails new rails-github-actions-example --skip-turbolinks --skip-spring --database=...
在“Ruby-master”这个文件夹中,很可能包含了与Ruby或Rails相关的源代码、笔记、练习或者项目。通常,一个GitHub仓库的主分支名为master,这里可能是作者学习过程中的主分支。通过浏览和分析这些文件,读者可以深入...
在Rails中,RJS通过ActionView的辅助方法与控制器的action配合工作,生成JavaScript代码,这些代码可以在客户端执行,从而动态改变网页。 描述中提到的“博文链接:https://hlee.iteye.com/blog/354530”是一个可能...
#Mailer 笔记 ##LetterOpener 让我们首先安装一个 gem,它允许我们在 Rails 中调试发送的邮件消息。 将letter_opener gem 添加到您的开发组。 group :development do gem "letter_opener" end 让我们在config/...
Rails提供了许多开箱即用的功能,如ActiveRecord(ORM)、ActionController和ActionView,使得开发者能够快速创建数据库驱动的Web应用。 现在,我们来看一下“ruby demo”可能包含的一些示例代码: 1. `hello_...