Tag: ruby on rails 3.2

我在哪里可以阅读更多关于Rails 3.2的数据存储的文本字段中的键值?

我在哪里可以阅读有关Rails 3.2的数据存储function的更多信息,其中可以选择在此处提到的文本字段中存储键值: 是否有最佳实践/连贯方式来更新包含哈希键值存储的数据库字段? 这是一个单独的问题,因为我无法对之前的问题发表评论。

pdfkit的image和print_media_type无法在rails 4.0.2上运行

我使用pdfkit创建了一个pdf.Pdf已创建。 但是我的pdf上没有显示图像,print_media_type也无法正常工作。 我使用的是rails 4.0.2和ruby 2.0.0。 有谁可以帮我解决这个问题? 我在这里附上细节。 谢谢。 gem文件: gem ‘pdfkit’,’0.5.2′ gem ‘wkhtmltopdf-binary’,’0.9.9.1′ gem ‘wkhtmltopdf-heroku’,’1.0.0′ application.css: @media print { body { text-align: justify; font-size:566px; background-color: red; } } application.rb中: require “pdfkit” config.middleware.use PDFKit::Middleware, :print_media_type => true config / initializers / pdfkit.rb: PDFKit.configure do |config| config.wkhtmltopdf = ‘C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe’ config.default_options = { :page_size => ‘A4’, :page_height […]

Rails 3.2.8根据条件插入或更新

我是Rails的新手并使用此代码进行更新或插入。 user = User.find_by_email(params[:email]) if user.nil? User.create!(params) else user.save(params) end // params is a hash with keys as table columns 此代码无效。 另外,我想知道Rails是否有一些神奇的东西在一行中做到这一点? 我没有将email声明为主键,但它将是唯一的。 它会帮助我宣布它是主要的吗?

mod_passenger中出现意外错误:接收HTTP上载数据时发生错误

我得到的错误就像 [ pid=22895 thr=139814677706720 file=ext/apache2/Hooks.cpp:884 time=2013-04-18 21:10:56.113 ]: Unexpected error in mod_passenger: An error occurred while receiving HTTP upload data: End of file found (70014) Backtrace: in ‘boost::shared_ptr Hooks::receiveRequestBody(request_rec*)’ (Hooks.cpp:1321) in ‘int Hooks::handleRequest(request_rec*)’ (Hooks.cpp:585)

从父rake调用多个任务是否为每个任务加载环境

如果我有一个耙子调用多个其他耙子。 一旦我发起父母耙 rake myapp:main 然后在rake中调用完成将为每个任务加载环境,或者在运行rake myapp:main时只执行一次活动? namespace :myapp do desc “Main Run” task :main => :environment do Rake::Task[‘myapp:task1’].invoke Rake::Task[‘myapp:task2’].invoke end task :task1 => :environment do # Does the first task end task :task2 => :environment do # Does the second task end end

Rails – 避免OmniAuth和共享计算机风险的策略

在测试Omniauth并关注流行的Ryan Bates的video时,我认为存在一个重大的安全漏洞。 这是一个例子 我有两个用户:Aurelien和John 约翰在早上登录到Twitter但忘记退出。 然后他继续我的应用程序并通过http://myapplication.com/auth/twitter连接到Twitter服务。 他被自动分配到Twitter身份validation,因为Twitter记得约翰已登录。约翰去上class。 与此同时,他的兄弟Aurelien使用相同的计算机并使用我的应用程序。 他决定发布我的应用程序的推文并继续访问http://myapplication.com/auth/twitter ,通过OmniAuth登录他的Twitter帐户。 多么惊喜! 他不需要登录,但是当重定向到回调URL时,他发现他当前以John身份登录! 现在我想相信大多数用户不共享他们的电脑/桌面/电话,但我确信这是一个经常出现的问题。 您可以遵循什么策略或逻辑来防止这种情况发生? 例如,如何确保当需要与myapplication不同的用户登录Twitter而不是使用之前打开的Twitter会话时? 欢迎举例!

Rails Engines – 简单可能的引擎(1)添加模型和(2)在包含类中添加关联

我正在尝试编写我的第一个引擎,但遇到以下情况的问题。 在主机应用程序中,我将拥有User模型(这在引擎中可以保证,所以我可以引用User类而不是某种程度的间接),它有一个名称。 在引擎中,我将有一个post模型,需要在包含应用程序中的post模型和用户模型之间创建关联。 >rails plugin new abc –mountable … >rails g model Post header:string body:text user_id:integer …编辑post文件: module Abc class Post < ActiveRecord::Base attr_accessible :body, :header, :user_id belongs_to :user def self.say_hello puts "hello: " + Object.const_get(User).to_s end end end 如何访问包含类中的用户模型以添加以下内容? has_many :abc_posts, class: “Abc::Post” 我已经尝试了引擎中的每个变体(在app / models / app / models / abc等……): class User […]

如何集成测试两个Rails应用程序

我们有两个独立的Ruby on Rails应用程序,一个接受上传的文件,另一个通过上传其他应用程序收到的文件生成文件。 我们正在尝试整理端到端的黑盒回归和集成测试,这些测试certificate当您将某个文件上传到第一个应用程序时,您可以指望从另一个应用程序中获取某个文件。 问题是如何编写脚本,以便使用种子值重置两个单独的数据库,两个服务器被激活,Capybara访问两个单独的“网站”。 到目前为止,在构建和测试每个应用程序时,我们依赖于使事情“正常工作”的Rails魔法,因此处理单独的数据库,单独的服务器端口和其他未知的皱纹看起来像是一个绊脚石。 有人写过这种测试的最佳实践吗? 有关如何自动化这种集成测试的任何示例?

Rails:包括所有模型A和仅相关模型B的子集

我想更好地理解rails数据库API。 如果我有以下型号: class Link has_many :votes belongs_to :user end class Vote belongs_to: link belongs_to :user end class User has_many :links has_many :votes end 我想“急切地”返回所有链接的列表,并且对于每个链接,我想要user_id等于当前用户的投票。 我试过这个: l = Link.all(:include => :votes, :conditions => { :votes => { :user_id => current_user.id}}) 但是,这仅返回用户已提交投票的链接列表。 我希望它返回所有链接,然后只返回该用户的投票(如果没有,则返回任何内容)。 如何使用include语句执行此操作?

自定义消息,validation是否存在无效

我的User模型包含以下内容: validates :password_digest, :presence => true, :message => “The password has to be 6 or more characters long” def password=(password) self.password_digest = BCrypt::Password.create(password) if password.length >= 6 end 问题是validates中的message不起作用。 我得到一个Unknown validator: ‘MessageValidator’错误。 我假设presencevalidation工作的方式是它只检查password_digest为nil , password的长度小于6。我想要一个优雅的解决方案,就像我尝试的那样。 我已经解决了这个问题,但我真的很感激理解为什么我正在尝试的东西不起作用,并且有办法让它发挥作用。 我的工作是: validate do |user| user.errors[‘password’] = “can’t be less than 6 characters” if user.password_digest.nil? end