Tag: ruby on rails 4

如何创建一个范围来订购城市名称?

我有两个模型/表:服务和城市 服务模式: belongs_to :origin_city, class_name: ‘City’ belongs_to :destiny_city, class_name: ‘City’ 如何创建订购城市名称的范围? 我正在尝试这样的事情: scope :by_city_name, -> { joins(:city).order(“cities.name asc”) } 但我只想在一个范围内订购服务起源城市。 并在另一个范围内服务命运之城。

在rails 4.0中发出问题,为删除操作创建link_to

这是我在rails中的第一个项目,即创建一个存储游戏数据的表。 我能够从表格中显示关于赢家得分,输家得分等的数据。但是,我的表格列中存在包含每个游戏的删除链接的问题。 这是我在删除方法的游戏控制器中的代码: def delete @game = Game.find(params[:game]) @game.destroy() redirect_to :action => ‘index’ end 我的表代码片段,其中包含link_to命令的行 在我调用的路由文件中 resources :games 据我所知,这有助于生成基本路由。 任何人都可以帮我弄清楚为什么我的link_to不起作用?

在教程中使用rspec在rails上测试ruby时出错

我是ruby on rails的新手我只是在阅读http://ruby.railstutorial.org/chapters/static-pages#top作为教程说,我创建了sample_app包或项目。 现在在3.2.1节我正在测试应用程序。 首先,我从cmd运行以下命令 $ rails generate integration_test static_pages 这在spec / requests目录中创建了static_pages_spec.rb。 现在在spec / requests / static_pages_spec.rb中添加以下代码 require ‘spec_helper’ describe “Static pages” do describe “Home page” do it “should have the content ‘Sample App'” do visit ‘/static_pages/home’ expect(page).to have_content(‘Sample App’) end end end 在这个阶段,我在sample_app / spec / spec_helper.rb文件中添加以下代码 config.include Capybara::DSL 所以我的文件看起来像 # This file […]

Rails:如何以百分比forms打印小数?

有没有办法以百分比forms打印小数,所以只有两位数后? 我的小数将始终在1和0之间,所以我认为从第三个字符开始调用number.round(2)是有效的,但是我无法在任何地方找到它的语法。 为了澄清,我希望将数字存储为完整小数 ,但打印为百分比 。

嵌套资源共享同一个控制器

在我的申请中,我想做到这一点,以便可以管理产品或卖家本身的卖家佣金,所以我的路线看起来像这样: resources :sellers do resources :commissions end resources :products do resources :commissions end 我的url就像: /products/:product_id/commissions/:id(.:format) /sellers/:seller_id/commissions(.:format) 但是,我如何在我的CommissionsController中知道请求何时来自产品或卖方,以便我可以根据product_id或seller_id设置我的佣金? 谢谢你的建议

重定向禁止/坏uri(脸谱)回形针图像

我正在尝试将用户的facebook url保存到我的数据库中,但是我收到以下错误。 redirection forbidden: http://graph.facebook.com/1240771104/picture -> https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/t… 我已经引用了这个问题,但我认为他只是调用一个图像而不是将其保存到带有创建块的数据库中。 这是我的用户模型…… def self.find_for_facebook_oauth(auth, signed_in_resource=nil) user = User.where(:provider => auth.provider, :uid => auth.uid).first if user return user else registered_user = User.where(:email => auth.info.email).first if registered_user return registered_user else user = User.create( name:auth.extra.raw_info.name, provider:auth.provider, uid:auth.uid, email:auth.info.email, image:auth.info.image, password:Devise.friendly_token[0,20], ) end end end 我在’def.self_for_facebook’下面添加了一个URI帮助器,因为我认为我只需要将http发送到https。 所以我从另一个堆栈问题中收集到了。 private def process_uri(uri) require ‘open-uri’ […]

ruby,rails gem install error – 错误:执行gem时…(编码:: UndefinedConversionError)

我尝试使用ruby的最后一个版本,但是当运行gem install rails时,总是出错 ERROR: While executing gem … (Encoding::UndefinedConversionError) U+041D to IBM437 in conversion from UTF-16LE to UTF-8 to IBM437 我正在使用Windows 8。 但gem清单—本地工作..只在安装,我的语言环境设置英语。 这是什么问题?

Rails – 如何显示预订确认详情

我目前正在使用rails构建一个Events应用程序,我在预订确认方面有点挣扎,以及如何向预订参加活动的用户展示。 这是我在bookings_controller中的代码 – class BookingsController < ApplicationController before_action :authenticate_user! def new # booking form # I need to find the event that we're making a booking on @event = Event.find(params[:event_id]) # and because the event "has_many :bookings" @booking = @event.bookings.new(quantity: params[:quantity]) # which person is booking the event? @booking.user = current_user end def create # […]

在rails中呈现关于路由错误的404页面

我试图在rails中呈现集成的404页面作为例外。 我试过这个,但仍然得到路由错误页面: posts_controller.rb def destroy if current_user.username == @post.email @post.destroy respond_to do |format| format.html { redirect_to posts_url } format.json { head :no_content } end else not_found end application_controller.rb def not_found raise ActionController::RoutingError.new(‘Not Found’) end 的routes.rb Booklist::Application.routes.draw do get “pages/faq” get “pages/about” devise_for :users resources :posts root ‘posts#index’ end 视图: This is your post! Feel free […]

将Postgres查询转换为Rails ActiveRecord?

是否可以用Rail的ActiveRecord格式编写以下查询? 我已经用arel尝试了十亿种不同的方式,但无法获得相同的结果。 SELECT topic_id, count(*) as total FROM questions_topics WHERE question_id IN ( SELECT id FROM questions WHERE user_id = 1000 UNION ALL SELECT questions.id FROM questions JOIN answers ON (questions.id = answers.question_id) WHERE answers.user_id = 1000 ) GROUP BY topic_id ORDER BY total DESC;