RubyOnRails的学习心得

本文分享了Rails应用开发过程中的实用技巧,包括简洁代码编写、日志配置、国际化设置及视图渲染优化等,帮助开发者提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Firm#clients.create (similar to c = Client.new("firm_id" => id); c.save; c )

create 一句话顶三句话。

rails log

和Server unicorn web

rails

Started GET "/assets/application.js" for 127.0.0.1 at 2012-01-12 14:52:56 +0800
Served asset /application.js - 200 OK (31ms)

记入日志,而且这些内容的级别是info,想隐藏需要调config.log_level = :warn或者

config.assets.debug = false,但这样做会导致xxx.js.coffee文件不会被自动翻译,不利于调试

Webrick会把这些查询显示到console中,而unicorn不会。

调试过程中最方便的写法还是puts @store.inspect

view中则是= debug @store

 

看如下代码

 

<td><%= link_to 'Show', news %></td>
    <td><%= link_to 'Edit', edit_news_path(news) %></td>
    <td><%= link_to 'Destroy', news, :confirm => 'Are you sure?', :method => :delete %></td>

 这show和Destroy在页面上看,都是news/id 这样的URL,但一个是显示,一个是删除功能,区别就在method=>delete。这是利用了HTTP Verb。

国际化文件定义在config/locales中 'admin.pages.index.new'的方式调用。

content_for的用法:见

http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for

http://railscasts.com/episodes/8-layouts-and-content-for  这个是表明它可以用在定义某个yield中

 

content_tag的用法:

content_tag(:p, "Hello world!") # => <p>Hello world!</p>

 

link_to(...) do

      text

    end

text就是显示的内容。<a>text</a>

 

yield的内容是后生成的,只能从controller中获取数据,而不能从其他的render等以及layouts/aplication.html.erb中获取数据。因此可以把需要查的内容全部放到render中实现。或者把查询放到pre_controller中。不用担心重复查询,rails有缓存机制。

 

汉字以及特殊字符,如果想写在非view的代码中,要通过t()翻译,把相关汉字写到zh.yml中。

数据库相关

rake db:migrate:redo STEP=3会删除表,删除表会自动删除索引和用到的sequence,因此即便pgadmin backup了,restore后只是还原了表数据,sequence还是新的,需要手动更新。

 

Web Server

rack是一个web server的接口。webrick 是rails自带的server,很小,但是性能非常差,仅供程序员调试。unicorn是rack的一个实现,可以上商用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值