Tag: 的Ruby on 轨道

如何将SQL Server表视图用作Rails模型(只读)?

我正在使用SQL Server作为我的Rails项目的数据库。 我正在尝试创建一些模型用于第三方数据库,只想从这个数据库中读取。 所以我查看了我想创建一个对象的表,然后我想将我的活动记录模型指向它。 但是,在rails控制台中,我没有收到预期的结果。 回馈一些正确信息的唯一例子是当我对对象进行count时,如下面的例3所示。 我正在使用以下gem连接到我的SQL Server: gem ‘tiny_tds’ gem ‘activerecord-sqlserver-adapter’ 我也安装了freetds-dev 0.91-6build1 例1 2.2.2 :004 > Game.all Game Load (268.7ms) EXEC sp_executesql N’SELECT [games].* FROM [games]’ => #<ActiveRecord::Relation [#, #, #, #, #, #, #, #, #, #, …]> 例2 2.2.2 :001 > Game.first SQL (1.1ms) USE [Incoming] Game Load (1.8ms) EXEC sp_executesql […]

Facebook的Javascript SDK可以与旧的Facebook API一起使用吗?

目前的Facebook Javascript SDK可以与较旧的Facebook API库一起使用吗? 现在有代码加载当前的Facebook Javascript SDK: window.fbAsyncInit = function() { FB.init({appId: ‘218565466928’, status: true, cookie: true, xfbml: true}); }; // […] initialize it 并且有代码使用旧的Facebook API init_fb_connect(‘Connect’, ‘XFBML’, :js => :jquery, :app_settings=> ‘{ifUserNotConnected: fb_user_not_connected}’ ) do 这是Facebooker Rubygem。 他们能以某种方式一起工作吗? 如果我有两个,那么新添加的“赞”按钮将不起作用。 如果我删除较旧的Facebooker代码,则“使用Facebook登录”和“共享”按钮将不起作用。 有任何想法吗? 更新:旧代码执行以下操作: Sign in with Facebook 和 <a href="#" onclick="FB.Connect.streamPublish('', {'name': 'Some product name' […]

如果保存失败无法正常工作,则渲染’new’

我是rails的新手,正在通过构建一个简单的博客类型的应用程序来练习。 如果@ post.save由于字段留空而失败,我将PostsController设置为呈现’posts / new’页面。 def create @post = Post.new(post_params) if @post.save redirect_to @post else render ‘new’ end end 这符合5.10。 作为用户,当我点击“提交”以保存post并将字段留空时,会加载“新”的html,但我发送的url是“/ posts”而不是“posts / new”。 我的路线可能搞砸​​了吗?

屏幕报废与nokogiri

我是一个完整的堆栈ruby开发人员。我正在尝试从网站废弃数据,我成功地获取数据。但问题是,下次当我获取数据时,我只想获取新数据我不想覆盖数据库中的所有数据。 我只想添加最近添加的新记录。但我无法找到任何解决方案,如何使用最少的查询和最少的代码。 这是我用于报废的代码: client = Mechanize.new index_page = client.get(‘https://www.google.com/’) document_page_index = Nokogiri::HTML::Document.parse(index_page.body) page_no_merchant = document_page_index.css(‘.pagination.pagination-centered ul li:nth-last-child(2) a’).text.to_i 1.upto(page_no_merchant) do |page_number| client.get(“https://www.google.com/buy-gift-cards?page=#{page_number}”) do |page| document = Nokogiri::HTML::Document.parse(page.body) document.css(‘.product-source’).each do |item| merchant_name= item.children.css(‘.name’).text.gsub(“Gift Cards”, “”) puts merchant_name href = item.css(‘a’).first.attr(‘href’) puts href image_url=item.children.css(‘.img img’).attr(‘data-src’).text.strip puts image_url image_url=URI.parse(image_url) @merchant=Merchant.create!(name: merchant_name , image_url:image_url) first_page = client.get(“https://www.google.com#{href}”) document_page = […]

我的克隆方法是从原始模型中窃取孩子

我已就此问题查了一堆问题,包括这里 , 这里和这里 。 我似乎无法弄清楚这里出了什么问题。 这是我的复制方法: def copy(new_period) copy = self.dup copy.report_id = Report.maximum(:report_id).next copy.period_id = new_period copy.responses = self.responses.dup copy.save end 此方法正确地生成报表模型的副本,并按预期将其分配给新期间。 它还将所有孩子从原始报告移动到新报告而不重复,这是不期望的。 我不明白为什么会这样。 有人有主意吗?

cocoon gem的问题,当我想添加或删除嵌套元素时没有任何反应

所以基本上,我已经按照本教程https://www.driftingruby.com/episodes/nested-forms-with-cocoon让用户创建一个列表并向该列表添加无限项。 到目前为止,我可以创建列表,并添加一个项目但是我不能添加另一个项目(在教程中另一个项目行自动弹出),也不能删除该项目。 我想我必须在控制器中改变一些东西,但我不确定..这是截图列表 。 非常感谢您的帮助,如果您需要任何其他代码片段,请告诉我们! _form.html.erb Items Item Name Description _item.html.erb

为什么我只在尝试将应用程序上传到Heroku时才获得ActionView :: Template :: Error?

我的应用程序在我的本地服务器上运行,但当我将它上传到Heroku时,我得到一个页面,上面写着: “We’re sorry, but something went wrong.” 当我查看Heroku日志时,我看到一个错误行: ActionView::Template::Error (/app/app/assets/stylesheets/application.css has already been required) 如果我的应用程序在我的本地环境中正常工作,这意味着什么? 有关如何排除故障的任何建议? 对于它的价值,我的gemfile看起来像这样: source ‘https://rubygems.org’ gem ‘rails’, ‘3.2.8’ gem ‘bootstrap-sass’ gem ‘bcrypt-ruby’, ‘3.0.1’ gem ‘json’ gem ‘ruby-fs-stack’ group :development, :test do gem ‘sqlite3’, ‘1.3.5’ gem ‘rspec-rails’, ‘2.11.0’ end # Gems used only for assets and not required # in production environments […]

ActiveStorage大文件上传会触发Google :: Execution :: Expired

在工作中实现ActiveStorage时,我们发现在上传12GB大文件时,操作会持续大约10分钟而且我收到错误Google::Execution::Expired或者有时HTTPClient::SendTimeoutError: execution expired 。 我正在使用这样的行运行大多数上传: backup.file.attach(io: File.open(“/my/file/path.ext”), filename: “myfilename”) 有没有办法让请求持续更长时间或一种方法来循环这个超时。 到目前为止,这种策略在上传4GB时运行良好。 只是当我过度使用文件大小时才发生这种情况。 时间不是我们这方面的问题,因为这是Cron工作的夜间任务。

Ruby On Rails,错误运行命令“rails generate controller”,输入/输出错误@ rb_sysopen,(Errno :: EIO)

一开始,当我运行rails generate controller welcome homepage到我的项目的目录时,命令工作正常并生成app/controllers/welcome_controller.rb和路由get welcome/homepage User1@My-Machine:~/MyProject$ rails generate controller welcome homepage /home/User1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/app_rails_loader.rb:39: warning: Insecure world writable dir /home/User1/.rbenv/versions in PATH, mode 040777 create app/controllers/welcome_controller.rb route get ‘welcome/homepage’ 紧接着,该命令会遇到以下错误: /home/User1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb:98:in `binread’: Input/output error @ rb_sysopen – /home/User1/MyProject/config/routes.rb (Errno::EIO) 后跟一个文件列表。 from /home/User1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb:98:in `replace!’ from /home/User1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb:59:in `invoke!’ from /home/User1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/actions.rb:94:in `action’ from /home/User1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb:30:in `insert_into_file’ from /home/User1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/generators/actions.rb:224:in `block in […]

通过Ajax使用gmaps4rails渲染谷歌地图

我想仅按需渲染地图(以最小化加载时间),意味着像“显示地图”这样的链接应该在指定的div中渲染地图。 我该怎么办?