Questions tagged «ruby-on-rails»

Ruby on Rails是一个用Ruby编写的开源全栈Web应用程序框架。它遵循流行的MVC框架模型,并以其“配置之上的约定”方法进行应用程序开发而闻名。

9
Ruby on Rails:如何使用rake db:migrate还原迁移?
安装devise MODEL User之后,我得到了这个。 class DeviseCreateUsers < ActiveRecord::Migration def self.up create_table(:users) do |t| t.database_authenticatable :null => false t.recoverable t.rememberable t.trackable # t.encryptable # t.confirmable # t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both # t.token_authenticatable t.timestamps end add_index :users, :email, :unique => true add_index :users, :reset_password_token, :unique => true # add_index :users, …

4
如何在Rails中覆盖to_json?
更新: 未正确探讨此问题。真正的问题在于render :json。 原始问题中的第一个代码粘贴将产生预期的结果。但是,仍然需要注意。请参阅以下示例: render :json => current_user 是不一样的 render :json => current_user.to_json 也就是说,render :json不会自动调用to_json与User对象关联的方法。实际上,如果to_json在User模型上被覆盖,render :json => @user将生成以下ArgumentError描述。 摘要 # works if User#to_json is not overridden render :json => current_user # If User#to_json is overridden, User requires explicit call render :json => current_user.to_json 这一切对我来说似乎很愚蠢。这似乎是在告诉我在指定类型时render实际上并没有在调用。有人可以解释这里到底发生了什么吗?Model#to_json:json 任何可以帮助我解决这个问题的精灵都可以回答我的另一个问题:如何通过在Rails中组合@ foo.to_json(options)和@ bars.to_json(options)来构建JSON响应 原始问题: 我在SO上看到了其他一些示例,但是我没有做我想要的事情。 我尝试着: …


1
rspec 3-对类方法进行存根
我正在从rspec 2.99升级到rspec 3.0.3,并已将实例方法转换为use allow_any_instance_of,但是还没有弄清楚如何对类方法进行存根。我有这样的代码: module MyMod class Utils def self.find_x(myarg) # Stuff end end end 我的rspec 2测试做到了: MyMod::Utils.stub(:find_x).and_return({something: 'testing'}) Rspec 3的实现方式是什么?



13
Facebook应用:本地主机不再作为应用域
我一直在使用Rails和jQuery为Facebook编写游戏。自从我开始使用Facebook Javascript SDK以来,使用localhost作为应用程序域似乎可以正常工作。我能够在本地和Heroku上测试我的游戏。 在过去的一天中,Facebook似乎已对其开发人员UI进行了重大更新。现在,如果我将localhost添加为应用程序域,它将给我以下错误: 必须从“画布URL”,“安全画布URL”,“站点URL”,“移动站点URL”,“页面标签URL”或“安全页面标签URL”派生。检查并更正以下域:localhost 我的游戏现在也无法在本地运行,当Javascript SDK登录用户时出现错误: API错误代码:191 API错误描述:应用程序不拥有指定的URL错误消息:无效的redirect_uri:应用程序配置不允许给定的URL。 部署游戏时不会发生这种情况,因为herokuapp.com被认为是有效的应用程序域。 如果我不能再使用localhost或127.0.0.1,应该如何开发和测试游戏?



4
Rails 3自定义验证器应存储在哪里?
我已经看到docs / websites显示自定义验证器应该放在项目的/lib或/lib/validators目录中。我发现(通过阅读另一篇文章的答案)他们似乎只在工作config/initializers。是否有人知道或有一个指向官方文档的指针,该文档显示了自定义验证器应存放的位置?

1
Rails如何跟踪数据库运行了哪些迁移?
根据Rails的文档:http://guides.rubyonrails.org/migrations.html “ Active Record跟踪已经运行了哪些迁移,因此您要做的就是更新源并运行rake db:migrate。” ActiveRecord实际上是如何做到的?Active Record在哪里存储数据? 我怀疑这可能存储在数据库本身中?在某处的桌子上。 在开发机器上,我运行了所有迁移。然后,我使用mysqldump复制了生产数据库。然后我运行“ rake db:migrate:status”,它正确显示了需要在生产数据库上运行的迁移。 我曾经认为ActiveRecord使用时间戳跟踪上一次迁移运行。但是我认为这是不对的,因为ActiveRecord可以正确运行从另一个代码分支合并的“较旧”迁移。 有内部知识的人可以详细说明吗?谢谢

2
如何在Rails API / iOS客户端中将数据存储在S3中并允许用户安全访问?
我刚开始编写Rails和API。我需要有关S3存储解决方案的帮助。这是我的问题。 我正在为iOS应用程序编写API,其中用户使用iOS上的Facebook API登录。服务器根据向iOS用户发出的Facebook令牌对用户进行验证,并发出临时Session令牌。从这一点上,用户需要下载存储在S3中的内容。此内容仅属于用户及其朋友的子集。该用户可以向S3添加更多内容,这些内容可以由同一群人访问。我想这类似于将文件附加到Facebook组... 用户可以通过2种方式与S3交互...将其留给服务器或让服务器发布临时S3令牌(不确定此处是否可行),并且用户可以直接访问S3的内容URL。我发现这个问题是关于方法的,但是它确实是过时的(两年前):关于从iPhone应用程序和S3上传照片的建筑和设计问题 所以问题: 当发出临时令牌时,是否有办法限制用户只能访问S3上的某些内容?我怎样才能做到这一点?假设有...说100,000个或更多的用户。 让iOS设备直接提取此内容是个好主意吗? 还是应该让服务器控制所有传递的内容(这当然解决了安全性)?这是否意味着我必须将所有内容下载到服务器,然后再将其分发给已连接的用户? 如果您知道rails ...我可以使用回形针和aws-sdk宝石来实现这种设置吗? 对于多个问题,我们深表歉意。对于任何对此问题的见解,我深表感谢。谢谢 :)

4
Ruby on Rails的WordPress替代品有哪些?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 Ruby on Rails的WordPress替代品有哪些?它们与WordPress相比如何?


6
如果字符串为空,则返回一些默认值
通常,我需要检查某个值是否为空,并这样写“无数据存在”: @user.address.blank? ? "We don't know user's address" : @user.address 当我们有大约20-30个字段需要以这种方式处理时,它变得很丑陋。 我所做的是带有or方法的扩展String类 class String def or(what) self.strip.blank? ? what : self end end @user.address.or("We don't know user's address") 现在看起来好多了。但这仍然是粗糙的 如何更好地解决我的问题。也许最好扩展ActiveSupport class或使用辅助方法或mixins或其他任何方法。红宝石的思想,您的经验和最佳实践可以告诉我。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.