Tag: 的Ruby on 轨道

has_many:通过不加载记录

我有一个Rails 5.2.1应用程序,其中关系的每个步骤都有效,但has_many :through版本没有。 设置有点奇怪,但我觉得我已经正确设置了一切,所以我有点难过。 鉴于此代码: class Contact < SalesforceModel self.table_name = 'salesforce.contact' self.primary_key = 'sfid' has_many :content_accesses, foreign_key: 'contact__c', class_name: 'ContentAccess' has_many :concepts, through: :content_accesses, source: :inventory end class ContentAccess < ApplicationRecord self.table_name = 'salesforce.content_access__c' self.primary_key = 'sfid' belongs_to :inventory, foreign_key: 'inventory__c', inverse_of: :content_accesses, primary_key: 'sfid', class_name: 'Inventory' belongs_to :contact, foreign_key: 'contact__c', inverse_of: : content_accesses, […]

Rails:控制器实例变量如何工作

早安,作为Rails和网站开发的初学者,我不知道如何表达我的问题,所以请随意改写。 我读到Rails中的视图通过控制器中的实例变量获取数据。 我还读到,为每个请求创建了一个控制器实例。 所以我的问题是rails如何知道哪个视图获取了多个同时请求的值? 由于每个控制器实例都是共享的,因此将值放在实例变量中是否明智?

Facebook Graph API的gem

我想在我的rails应用程序中使用Facebook图形API。 使用FB图形API的推荐gem是什么? 谢谢

合并具有相同模型的两个has_many关联的结果

我有用户。 用户可以戳戳其他用户,也可以自己动手。 每个戳都是方向性的,并且不存在组戳。 我想列出给定用户的所有戳(传入或传出),而不重复自助(作为incoming_和outgoing_pokes存在)。 这是我的模特: class User “Poke”, :foreign_key => :poker_id has_many :incoming_pokes, :class_name => “Poke”, :foreign_key => :pokee_id end class Poke “User” belongs_to :pokee, :class_name => “User” end 我尝试在User模型中创建一个方法来合并戳: def all_pokes outgoing_pokes.merge(incoming_pokes) end 但是它只返回自我戳(那些既是incoming_px也是outgoing_pokes)。 想法? 是否有一种干净的方法直接使用关联? 此外,在合并列表中,每个poke都有两个布尔值可以记录它们与当前用户的关系。 outgoing和incoming东西。

为什么我得到“未定义的方法`assert_valid_keys`”?

知道为什么我收到此错误: Exception encountered: # 当我尝试在以下模型上执行Factory.build(:widget)时: class Widget < ActiveRecord::Base belongs_to :designer, :vendor # … end 当我删除belongs_to行时,错误消失了。

找不到ID为(= ActiveRecord :: RecordNotFound)的用户

使用我的rails应用程序,我可以成功创建一个对象(称为work;将它们视为博客post)作为current_user。 用户has_many工作。 我可以通过使用postgresql浏览器检查数据库来validation是否已成功创建对象。 该表还包含创建工作的正确user_id,因此我知道我的创建函数在我的控制器中工作。 但问题是,当我尝试查看工作时,我收到以下错误: WorksController#show中的ActiveRecord :: RecordNotFound 找不到ID = 23的用户 app / controllers / works_controller.rb:43:在’show’中 奇怪的是,我仍然可以看到几周前创作的作品。 该错误仅出现在我最近创建的作品中。 这是Works控制器: class WorksController @works } end end def create @work = current_user.works.create(params[:work]) redirect_to current_user end def edit @work = current_user.works.find(params[:id]) end def new @work = current_user.works.new end def destroy @work = current_user.works.find(params[:id]).destroy flash[:success] = “Work deleted” redirect_to […]

Searchkick + Bloodhound + Typeahead用于自动完成

我正在尝试为单个属性实现一个简单的自动完成function 。 模型: searchkick text_start: [:name],autocomplete: [‘name’] 重新编制Rails控制台上的行为索引后就可以了。 2.2.0-p0 :002 >Doctor.search(“a”, autocomplete: true).map(&:name) gives the output- => [“a”, “aa”, “aaa”, “aaaa”] 在此之后,我将自动完成操作添加到控制器,并将新路由添加到routes.rb文件。 控制器: def autocomplete console.log(“In auto”) render json: Doctor.search(params[:query], autocomplete: false, limit: 10).map(&:name) end 路线: resources :doctors do collection do get :autocomplete end end 此时,如果我只是测试以下URL: http://localhost:3000/doctors/autocomplete?query=”a” 然后我在浏览器中获得预期的结果 : [“a”, “aa”, “aaa”, “aaaa”] 现在添加一个搜索框。 _header.html.erb: […]

铁轨初学者指南

朋友你好,我需要一本书/教程的轨道,而不使用scoffold。 其他问题中提到的所有书籍都是使用脚手架创建一些仓库应用程序等,然后解释事情。 我相信,当你没有得到任何东西时,创建大型仓库毫无价值。 我所有的朋友都建议我去写这本务实的书 。 看起来我明白这本书很好,但我没有得到正确的东西。 我得到了逻辑原因我在php教程中很好。 asp.net c c ++所以我得到的东西,但我不自信。 我想要另一本书。 任何人都可以向我推荐一些其他书籍。 我说这是因为当你创建一个简单的表单并在db中插入值时你真的感觉很好。你可以检索这些值和MOST IMP你可以解释那个colorfull Depot应用程序的那个小型应用程序的整个逻辑事情是用脚手架完成的,你没有得到这个东西,你在真实的画面上感到困惑。

‘x64_mingw’不是有效的平台

当我运行rails new app命令时,进程在bundle停止时给出了上述错误。 我有ruby 2.0.0p195,rails 4.2.0.beta4。 我正在尝试遵循Michael Hartl的教程。 该命令工作正常我认为,直到我安装此版本的rails …我试图卸载它,但它看起来像gem卸载不想工作。 我该怎么办?

Ruby on Rails猴子修补Gem的模型

这可能很愚蠢,但我要包含一个代表我项目所需模型的gem。 我想在其中一个模型Person添加一个方法to_custom_string 。 我试图这样做(按照这个例子): config/initializers/extensions/person.rb 其中包含以下内容: class Person < ActiveRecord::Base def to_custom_string address.street.to_s end end gem中的Person类具有has_one :address关联。 我遇到的问题是这个补丁似乎覆盖了gem中的Person类,而不是修补它。 令人抓狂的是,这种覆盖行为只能通过rake来体验(来自gem的Person类中声明的所有关联都会丢失)。 我的佣金任务是这样的: namespace :convert task :all_persons => :environment do Person.where(:param => value).includes(:address).find_in_batches(:batch_size => 2000) do |persons| persons.each do |person| puts person.to_custom_string end end end end 调用bundle exec rake convert:all_persons给了我: Association named ‘address’ was not found; perhaps you […]