Tag: 的Ruby on 轨道

Active Record fixture格式错误

我已经为我的控制器写了一些测试但是无论何时我运行命令rails test我得到错误消息活动记录格式错误。 任何帮助或建议将受到高度赞赏。 #this is what I have on my fixture.yml one: contract_name: MyString contract_status: MyString services_rendered: MyString contract_value: MyString award_year: 1 location: one two: contract_name: MyString contract_status: MyString services_rendered: MyString contract_value: MyString award_year: 1 location: two

在rails中注册自定义MIME :: Type

根据我的需要,我正在尝试注册自定义MIME :: Type,如下所示(包括text / plain ) Mime::Type.register_alias “application/json”, :my_json, %w( text/plain text/x-json application/jsonrequest ) 但是当我在rails控制台中运行以下命令时 Mime::MY_JSON 它给出了输出 # 这里,@ synames是空数组。 但是,我希望输出像Mime::JSON => # 所以我可以使用它: render :my_json => SomeJSON 需要做什么? 编辑 这是我在config / initializers中的条目 Mime::Type.register_alias “application/json”, :my_json, %w( text/plain text/x-json application/jsonrequest )

无法找到没有ID的(删除记录)

我正在构建一个非常基本的rails应用程序,它提供一个表单,并获得用户提交。 在删除操作上,我不断收到error: Couldn’t find 没有id的error: Couldn’t find (在这种情况下,问题)。 我知道删除操作要求按ID查找params ,我不确定为什么它没有ID 。 我在表格问题中添加了字段question_id ,希望能够做到这一点。 已经阅读了很多其他类似的问题,答案不是点击。 THX提前。 索引页面 Your answer ‘delete’}) %> 删除视图 {:action => ‘destroy’, :id => @question.id}) do |f| %> You’re deleting this action item forever – Ok? 问题控制器 class QuestionsController ‘new’) end private def question_params params.require(:question).permit(:answer, :question_id) end end

如何在Rails应用程序中添加BigDecimal值

在Rails 3.2应用程序中,我定义了两种执行计算并返回大小数值的方法。 Def Func1 Model1.price * Model1.qty End Def Func2 Model2.price * Model2.qty End 我不知道这是否相关,但是:qty字段是一个计数器缓存列,记录了相关has_many记录的数量。 我现在想要计算Func1和Func2的总和。 如果我试试 Def FuncTotal Func1 + Func2 End 它返回连接的两个值,而不是总和。 即如果Func1 = 15.45且Func2 = 24.76,则FuncTotal = 15.4524.76。 我也试过了 Def FuncTotal Func1.to_s + Func2.to_s End 但这也是连接起来的。 我假设发生此问题是因为计算基于BigDecimal值。 在这种情况下,我觉得价格*数量计算返回正确的产品似乎很奇怪。 如何将两个BigDecimal值一起添加? 非常感谢 编辑 这是一个示例控制台输出 > 1=Model1.find(1) => # 2.Model2.find(2) => # 1total=1.func1 => [#] […]

用户模型表现奇怪,在rails控制台中工作,在控制器中说未定义的方法

我这样做: user = User.find( params[:id] ) 当我做: user.section_id 它说: nomethoderror exception undefined method ‘section_id’ for 为什么会说<#Array? 在rails控制台中,当我这样做时,一切正常: u = User.find(2) 更新 我的javascript正在这样做: $.ajax({ type: “POST”, url: “/user/add_section”, dataType: “html”, data: { id: id, section_text: sectionText }, success: function(payload) { }, error: function(jqx, ts, et) { }, complete: function(){} }); 使用chrome我可以看到id是8。 我的控制器动作: def add_section user = […]

按日期在Rails中对博客post进行分组和排序

我在网上搜索过,但没有找到答案。 我正在尝试根据日期为我的博客提供一个非常标准的存档选项。 url blog.com/archive/2009的请求显示了2009年的所有post,blog.com/archive/2009/11显示了2009年11月的所有post等。我发现了两个不同的代码,但对我没什么帮助。 def display_by_date year = params[:year] month = params[:month] day = params[:day] day = ‘0’+day if day && day.size == 1 @day = day if (year && month && day) render(:template => “blog/#{year}/#{month}/#{date}”) elsif year render(:template => “blog/#{year}/list”) end end def archive year = params[:year] month = params[:month] day = params[:day] day […]

Ruby on Rails || 向用户添加会议

我正在创建一个应用程序,你可以看到世界上所有的会议。 我得到了什么: 创建一个会议 显示所有会议 现在我要创建的是一个按钮,让我为用户添加会议。 我想用这个来完成什么: 将会议添加到用户 在列表中显示添加的会议 查看会议和添加内容 我在想一个复制所选对象属性的按钮,并将其添加到选定的用户,以便将来操作和查看会议 我问是否有人可以告诉我如何实现这一目标 https://consulegem-salman15.c9users.io/conferences 移民会议 class CreateConferences < ActiveRecord::Migration[5.0] def change create_table :conferences do |t| t.string :conference t.string :country t.string :month t.string :presence t.string :audience t.integer :cost t.text :content t.references :user, foreign_key: true t.timestamps end add_index :conferences, [:user_id, :created_at] end end 控制器会议 class ConferencesController < ApplicationController before_action […]

Rails – 每个块内的动态路由

这是我的第一个rails项目,我是所有代码的完全新手,而不仅仅是Ruby,所以如果我没有简明扼要地解释我的问题,请原谅我。 我有一个型号,Car,属于另一个型号,User。 我希望我的汽车索引页面显示数据库中的所有汽车,所以我制作了一个自定义路线’/ cars /’,而不是由Rails生成的:user_id / cars /:id路由。 汽车信息正在输出到我的索引页面,但我无法弄清楚如何生成链接回车展页面。 我确信这很简单,但我一整天都在阅读Rails指南和其他问题,但尚未解决。 这是块: <div class="well row “> 路线: get ‘cars’ => ‘cars#index’, as: :cars resources :users do resource :profile resources :cars, except: :index end 结束 控制器: def new @user = User.find( params[:user_id] ) @car = @user.cars.build end # POST request to /users/:user_id/cars def create @user = User.find( […]

如何根据rails中输入的信息将用户发送到不同的路径?

我的userinfos控制器处理用户信息。 一旦用户注册,我希望他们转到允许他们填写用户信息的页面,如姓名,电子邮件,gpa,大学…让我们说他们在填写表单之前离开,当他们再次登录时,我想检查用户信息是否已填写,如果没有,我想带他们进入新的信息页面。 我该怎么做才能实现这一目标? 我被告知要将此代码添加到应用程序中 class ApplicationController < ActionController::Base protect_from_forgery with: :exception def after_sign_in_path_for(resource) if @userinformation.Userinfo.count.zero? new_userinfo_path else root_path end end def after_sign_up_path_for(resource) if @userinformation.Userinfo.count.zero? new_userinfo_path else root_path end end end 但它不起作用。 由于“@userinformation”是userinfos控制器中的实例变量,并且它与应用程序控制器无关,因此它不起作用。 我知道上面的控制器中的代码是错误的,但那是我想要的逻辑。 如果特定用户的Userinfo模型中的数据计数为0,那么我想将它们指向“new_userinfo_path”。 我的Userinfo控制器: class UserinfosController < ApplicationController before_action :find_userinfo, only: [:show, :edit, :update, :destroy] def index @userinfors = Userinfo.all @myvideo = Video.all end […]

如何按类别…范围或其他方式过滤条目?

如何通过类别过滤我的条目? 我正在为了教育目的而使用reddit进行网页抓取,只抓取他们的标题,链接和类别。 这是通过lib目录的代码: require ‘open-uri’ module RedditScrapper def self.scrape doc = Nokogiri::HTML(open(“https://www.reddit.com/”)) entries = doc.css(‘.entry’) entries.each do |entry| title = entry.css(‘p.title > a’).text link = entry.css(‘p.title > a’)[0][‘href’] category = entry.css(‘p.tagline > a.subreddit’)[0][‘href’] Entry.create!(title: title, link: link, category: category ) end end end 试图在index.html.erb对此进行过滤,但不知道如何。 决定尝试范围,即使我以前从未写过。 这是Entry模型中的范围 class Entry (category) { where category: category } end […]