所以我在过去的7年里一直用PHP编程.我应该做的是学习OOP,但关于RoR和Django的所有讨论都让我更感兴趣.话虽如此,我第一次出现时就开始关注RoR.当我第一次介绍他们的产品时,我通过37signals知道了它.当时,我继续使用PHP,这是我所知道的,并且我能够比尝试学习新语言更快地生成代码.
快进到2009年......几年前,当Twitter成为头条时,由于RoR的不一致而实施了Scala.我的问题,RoR的事情变得更好了吗?我知道我不应该选择一家公司的问题,但当然,粉丝们可能会跳过这个问题,然后用另一种语言抨击一种语言.
我现在假设已经进行了很多错误修复和增强,但我仍然希望听到仍然需要解决的RoR的烦恼.
TIA!
我在Rails中使用button_to并link_to形成帮助器.我需要根据代码中的条件设置html属性.更确切地说,我需要button_to仅在某个条件为真时禁用组件.
我怎样才能做到这一点?下面的代码片段.
<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => true%>
Run Code Online (Sandbox Code Playgroud)
在上面的陈述中我可能需要:disabled => true或者我可能不需要它.除了重复代码行之外,还有一种干净的方式吗?
干杯-Priyank
有没有必要在迁移中为字符串指定限制选项...
class CreateAccounts < ActiveRecord::Migration
def self.up
create_table :accounts do |t|
t.string :name, :limit => 64
end
end
end
Run Code Online (Sandbox Code Playgroud)
这应该应用于DB中的所有字符串吗?有什么意义?
我知道http://api.rubyonrails.org/是为了解释ruby on rails的方法等,但是我需要一些东西来解释我的解释.这似乎是一个很好的资源,我想了解它或者是时候放弃了.
我正在创建一个Twitter应用程序,每次用户更新页面时,它都会重新加载来自Twitter的最新消息并将它们保存到本地数据库,除非它们之前已经创建过.这在开发环境(数据库:sqlite3)中运行良好,但在生产环境(mysql)中,它总是会再次创建消息,即使它们已经创建过.
twitter_id检查消息创建,每条消息都有:
msg = Message.find_by_twitter_id(message_hash['id'].to_i)
if msg.nil?
# creates new message from message_hash (and possibly new user too)
end
msg.save
Run Code Online (Sandbox Code Playgroud)
显然,在生产环境中,由于某种原因,它无法通过twitter id找到消息(当我查看数据库时,它已经正确保存了所有属性).
通过这个长篇介绍,我想我的主要问题是如何调试这个?(除非你已经对主要问题有了答案,当然:)当我查看production.log时,它只显示如下内容:
Processing MainPageController#feeds (for 91.154.7.200 at 2010-01-16 14:35:36) [GET]
Rendering template within layouts/application
Rendering main_page/feeds
Completed in 9774ms (View: 164, DB: 874) | 200 OK [http://www.tweets.vidious.net/]
Run Code Online (Sandbox Code Playgroud)
...但不是数据库请求,logger.debug文本或任何可以帮助我找到问题的内容.
嘿伙计们,这是我第一次使用任何类型的版本控制制作应用程序,它的想法听起来很棒.我刚刚开始并使用一些教程来弄明白.
我创建了我的应用....
rails example
Run Code Online (Sandbox Code Playgroud)
然后启动git .....
git init
Run Code Online (Sandbox Code Playgroud)
现在我想制作一个大多数教程都使用的.gitignore文件
mate .gitinit
Run Code Online (Sandbox Code Playgroud)
可悲的是我没有TextMate,虽然我看到它是如何完全令人敬畏的...所以我问在即时栏中创建.gitignore文件的命令是什么,这是我一直在使用的环境?我对使用所有这些命令行的东西都没有太多经验.
所以是的,我的问题是,如果我没有配合命令,我怎么能制作.gitignore文件?
我正在尝试阅读某个网站的HTML.
尝试@something = open("http://www.google.com/")失败,出现以下错误:
Errno::ENOENT in testController#show
No such file or directory - http://www.google.com/
Run Code Online (Sandbox Code Playgroud)
去http://www.google.com/,我显然看到了网站.我究竟做错了什么?
谢谢!
我感兴趣的是哪个是检测客户端的用户代理,客户端(javascript)或服务器端的最佳位置?我提出这个问题是因为一些IE8用户收到消息说他们正在使用IE6.
我从日期数据输入的API中提取数据为"2008-02-11 00:00:00"
我希望这些数据作为一个值进入date_select中的表单,这样我就可以在将它添加到数据库之前正确查看.
视图看起来像
<%= f.label :start_date %><br />
<%= f.date_select :start_date, :value => " #{@stdate[idx]} " %>
Run Code Online (Sandbox Code Playgroud)
该对象实际上是一个日期数组,因为我多次执行此操作就是为什么[idx]存在; 作为指数.
<%= @stdate [idx]%>最终输出"2008-02-11 00:00:00",但date_select助手的字段仅在那些下拉日期输出当前日期"2010""June""5"选择字段......
我是否需要单独设置年份,月份和日期的值?我有Chronic并尝试解析对象,然后将其用作date_select的值,并且也没有用.
有任何想法吗?
我的网络应用中的用户可以上传文件.我使用Paperclip来处理文件附件问题.如果我想以编程方式删除任何特定的用户上传文件,有什么方法吗?