我注意到rails4中的concern的新特性,并在中阅读了它的文档。
但它似乎不像我预期的那样有效。这是我的/models/concerns/current_user.rb的代码
require 'active_support/concern'
module CurrentUser
extend ActiveSupport::Concern
module ClassMethods
def accessor_current_user
attr_accessor :
在rails 4中,my image_标记(“assets/logo.png”)没有链接到带有摘要的文件,这些资源也会预编译它们在public/assets/*中的图像
My production.rb:
Books::Application.configure do
# Settings specified here will take precedence over those in config/application.rb.
# Code is not reloaded be
Ruby 2.0,Rails 4。
我做了一个网站,提供静态文件。
我曾经
列出静态文件的步骤
现在,我必须将文件保存在应用程序之外,因为Heroku中的slugsize否则会太大
出于这个原因,我想要一个公共web文件夹的目录列表。(由apache服务器提供服务)
我试过:
档案:
控制器:
def index
require 'net/ssh'
ssh = Net::SSH.start( 'http://www.domain.ch/path/to/directory', 'gast
我正在努力让resque在生产中工作。我有以下文件:
rails_env = ENV['RAILS_ENV'] || "production"
rails_root = ENV['RAILS_ROOT'] || "/home/rails/current"
num_workers = rails_env == 'production' ? 5 : 2
num_workers.times do |num|
God.watch do |w|
w.dir = "#{rai
我在Rails 4中使用Carrierwave,但没有将其安装到特定型号
并试图通过initialize方法传递我的atribute,以便store_dir知道将文件存储到哪里
class CustomFormUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
attr_reader :custom_form
def initialize(custom_form)
@custo
突然,我的邮件坏了。这是一个向管理员发送请求电子邮件的简单表单。我总是遇到奇怪的语法错误。也许有人能帮我
RequestMailer.rb
class RequestMailer < ActionMailer::Base
default from: "no-reply@bethelmusic.org"
def request_submit(request_form)
@request_form = request_form
mail :to =&
我有一个本地化字符串:
en:
doorkeeper:
device: device
fr:
doorkeeper:
device: équipement
使用I18n.locale=:fr将字符串大写是不正确的(在法语中,首字母大写的字母从不加重音)
我可以绕过它,在大写之前进行参数化
I18n.t(:device, scope: :doorkeeper).parameterize.capitalize => "Equipement"
但是参数化会删除
我使用Desive omniauthable与谷歌和facebook进行用户身份验证。谷歌工作得很好,但是facebook在重定向页面上被卡住了,尽管用户在他们的平台上正确登录(在facebook上)
这是我得到的日志:
2014-09-01T15:26:41.996884+00:00 app[web.1]: (facebook) Request phase initiated.
2014-09-01T15:26:42.211524+00:00 app[web.1]: (facebook) Re
在我当前的解决方案中,我可以在编辑表单中设置一个复选框,以便用户可以删除附件。但是,没有迹象表明用户已经上传了文件、该文件的名称等,因此用户可以决定是否删除
现在表格是这样的。第一个材料是现有材料,下三个材料是
def edit
@post = Post.find(params[:id])
3.times { @post.post_materials.new }
end
正如你所看到的,很难区分它们。理想情况下,我希望第一个材质文件名以某种方式出现
<%= for
当我在本地主机上运行“rails s”并发送电子邮件时,我会收到一个通知“您的名字已通过电子邮件发送”,并在终端中看到它似乎已经工作。一切都好
但当我将此部署到heroku并发送电子邮件时,我收到一个通知,“您的姓名已通过电子邮件发送”,但从未收到发送到我真正收件箱的电子邮件。你知道我为什么没有收到邮件吗
我已经为用户身份验证系统设置了电子邮件,并在heroku上进行了现场测试,在注册用户时,我通过同一个应用程序收到了发送到我真实收件箱的电子邮件,因此我相信配置设置是正确的
这简直让我发疯!感谢
我正在使用capistrano 3.2.1,Gemfile中包含以下Gem:
gem 'capistrano'
gem 'capistrano-safe-deploy-to', '~> 1.1.1'
gem 'capistrano-rvm'
gem 'capistrano-unicorn-nginx', '~> 3.1.0'
gem 'capistrano-rails', '~> 1.1'
gem 'capistrano-bundler', '~>
我正在尝试安装gem。我使用RubyMine作为IDE和rails 4.1.0。我的gem文件看起来像:
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.0'
gem 'sprockets', '2.11.0'
gem 'autoprefixer-rails'
gem 'sass-rails'
gem 'boot
我有两种型号(产品和类别):
正如您所看到的,两者都有has\u和\u属于\u many关系。保存/检索数据时,所有工作均按预期进行:
@products = Products.all
将返回此json:
{
_id: ObjectId("54ba495957694d4d95010000"),
category_ids: [
ObjectId("54ba494557694d4d95000000")
],
created_at: ISODate("
验证之后,我得到了错误并返回到:action=>:new。表单上的某些字段已经填充,所以我希望在错误消息之后也保持填充状态。如何做到这一点?我对ruby没有把握。但是在php中,在创建表单时,可以使用变量作为“默认”值。第一次调用表单时,它将为null或“”,当用于错误时,它将包含用户输入的文本。Thx RandelI,但使用默认值时,它不起作用。我怎样才能在rails中做到这一点呢?刚才在这里发现了一个类似的问题,很抱歉这是我的iPhone中的格式设置。无论如何,我认为你可以用用户输入的值替换
在Cequel这是我的RoR模型
class Fileinfo
include Cequel::Record
key :fileid, :timeuuid, auto: true
column :filepath, :text, :index => true
set :test, :int
timestamps
end
Rails scaffold生成用于创建新API()的表单,如下所示
<div class="field">
<%=
还有一些其他线程处理此问题,但没有一个线程帮助我们解决问题
当我们使用Minitest运行一个集成测试时,我们得到以下错误:
ERROR["test_index_including_pagination", UsersIndexTest, 2015-06-30 06:44:19 -0700]
test_index_including_pagination#UsersIndexTest (1435671859.78s)
NoMethodError: NoMethodError:
在两个主表的索引值已知的情况下,销毁/中断关联的最简单语法是什么
User has_many roles through clearances
Role has_many users through clearances
Clearance[.id, .user_id, .role_id]
Role[.id, .rolename]
User[.id, .username]
username == 'auser'
rolename == 'arole'
我希望删除连接这两个值的间隙行,但不接
我需要在rails中不时更改列类型。我无法更改列类型。它显示此错误
"rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::DatatypeMismatch: ERROR: column "fun_from" cannot be cast automatically to type timestamp without time zone
HINT: Sp
我已在application.rb中将Rails时区设置为“莫斯科”
当我询问本地时间时,它返回一个比实际本地时间提前一小时的值
我如何解决从错误时间到本地转换的问题
2.0.0-p481 :003 > Time.zone
=> #<ActiveSupport::TimeZone:0x000000058a5750 @name="Moscow", @utc_offset=nil, @tzinfo=#<TZInfo::TimezoneProxy: Europe/Moscow
Reading.rb模型包括属于:reader
我正试图通过协会加入,在读数的“索引”上实现一个过滤器:
readings = Reading.all.order(:date)
if params[:reader_name]
readings = readings.join(:reader).where('reader.name like ?', params[:reader_name])
end
我得到:
no implicit conversion of Symbol into S
我对部署有一些问题。
轨道4.2.4
capistrano 3.4.0
我不明白怎么了。有人能帮我吗
$ bundle exec cap production deploy --trace
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
cap aborted!
NoMethodError: undefined
我想从我的控制器测试一个模型方法。我正在尝试以下(简化代码):
model.rb
class Model < ActiveRecord::Base
def configure(threshold)
self.some_private_method(threshold) ## threshold is an int
end
end
型号控制器规格rb
RSpec.describe ModelsController, type: :controller do
desc
背景图像在本地主机中可见,我检查并看到,当推送到heroku时,该图像得到了遵守,但在部署的站点上不可见。图像的路径为app/assets/images/
这就是我在application.css中调用图像的方式
您应该使用:在视图中添加背景img,但最佳做法是使用SCS。使用Scss,您将获得类似于资产url('whiteLogo.png')的帮助。对于您的情况,您只需将以下内容添加到html标记中:
<html style="backgound: url('<%= image_p
使用Rails变体时,我将使用此约定指定要使用的JS模板:
action.js+variant.erb
如何对Coffeescript视图执行相同的操作
action.coffee
原来是action.js+variant.coffee
我有一个简单的关联设置:
def Account
has_many :timers
end
def Timer
belongs_to :timer
end
如果我尝试构建计时器,我会得到以下错误行为:
account.id => 1
account.timers.build => #<Timer id: nil, account_id: 0>
……当然应该是:
account.id => 1
account.timers.build => #&
我正在rubyonrails.org上做RoR教程,在向帖子添加评论之前一直做得很好
当我点击“显示”一篇文章时,出现以下错误:
Postsshow中的ActionController::UrlGenerationError
没有路由匹配{:action=>index,:controller=>comments,:id=>1,:format=>nil}缺少必需的键:[:post\u id]
我有一个显示posts_controller.rb的方法,请参见下文,并且,除非rails指南上可能有打字
我在Rackspace云上运行以下命令来准备rails应用程序,并观察到以下错误
cap production deploy --trace ⏎ ✹
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:
我有一个客户评分模型,允许用户互相留下反馈。web应用程序工作正常,并收集、存储和显示反馈
我想通过rails控制台进入并删除一些反馈,但当我输入Customer\u rating.all时,我得到以下错误:
LoadError: Unable to autoload constant Customer_rating, expected /Users/myapps/app/models/customer_rating.rb to define it
同样,如果我输入Customer_ratin
我有一个简单的对象,如:
class Question < ActiveRecord::Base
belongs_to :company
validates :company, presence: true
end
类问题
我写了一个计算商业案例的特定值的方法
我的模特看起来像这样
class CEntry < ActiveRecord::Base
belongs_to :bcase
end
class SEntry < ActiveRecord::Base
belongs_to :bcase
end
class CnqEntry < ActiveRecord::Base
belongs_to :bcase
end
class Bcase < ActiveRec
我使用的是简单表单,我有几个字段与我的模型没有关联。我发现使用这个假字段选项是一个很好的解决方案:
我认为这比为我的字段添加一个attr\u访问器值更简洁,而且它对文本输入字段非常有效。我希望通过选择字段来完成同样的事情
我找到了这条线索,但我找不到其他线索:
是否有人发现了类似的假选择输入选项?谢谢 假设您将使用该“假选择”用于UI目的(可能是为了修改表单字段以使用Javascript呈现给用户?),并且您不想处理控制器中的值,您可以只使用任何字段名,而不使用简单表单f.input。该值将
好的。。。我有一个非常。。。非常奇怪的问题。当创建一个新用户时,由于一些奇怪的原因,它不会保存用户名或头像。。。但只有当他们使用电子邮件注册时。当他们在Facebook上做同样的事情时。。。用户和化身工作正常。下面是日志中的粘贴:
Parameters: {"utf8"=>"â", "authenticity_token"=>"QDa9azqwenwcyCWPaYWohDDgSRBST3eCRTcagky984=", "user"=>{"ip_address"=>"77.
我读了这篇博文,但其中有一点是他是如何处理路由的。那么,哪一个更符合逻辑:
作者的方式
resources :users do
collection do
# Registrations is set as plural, which means that each user can make many
# registrations, and open many sessions and so will make many confiramtions
resour
我在我的应用程序中使用rails 4和active admin gem。我正在使用FullCalendar来显示事件
我的代码在index.html.erb下面
相同的全压光机,我已经使用正常轨道4应用于其工作良好
但是在activeadmin中,它抛出javascript错误,
TypeError:$..fullCalendar不是一个函数
并且日历未显示在视图中
由于此错误,我无法继续,请提供帮助。您没有导入fullcalendar js和css文件,请添加这些行
在app/assets/j
我在heroku上有一个rails-4应用程序,其中我作为经理使用回形针发布了一些pdf文件,用户可以查看这些pdf文件。当我发布一个pdf时,所有用户都可以查看它大约几个小时,一切都很好。但是大约一两个小时后,就连我自己都看不到pdf文件了。我查看了日志,发现以下错误:
ActionController::MissingFile (Cannot read file <filepath> )
我浏览了许多stackoverflow问题,搜索了许多博客,但没有找到问题的答案。所有面临
1我使用spree和我的gem文件代码创建应用程序
rails 4.1.6
gem 'spree', '2.3.4'
gem 'spree_gateway', :git => 'https://github.com/spree/spree_gateway.git', :branch => '2-3-stable'
gem'spree\u auth\u designe',:git=>,:branch=>'2-3-stable'
2捆绑安装
3它很好用
4但我需要添加扩展gem'spr
我使用的是rails 4,mongoid 4。我想用mongoid history gem版本我的模型。
这是我的historyTracker文件:
class HistoryTracker
include Mongoid::History::Tracker
end
这是初始值设定项:
Mongoid::History.tracker_class_name = :history_tracker
这是我的用户模型
class User
include Mongoid::Document
我有一个rails 4应用程序,我正试图将其部署在WebPosition上。应用程序驻留在bitbucket上。此外,根据webparty文档,应用程序必须部署在“/home/username/webapps/app”路径中。我在secrets.yml中有我的所有database.yml设置(用于所有环境),该设置已复制到共享路径/config
根据指定的文档,必须设置一些环境变量。WebPosition需要您设置在ssh会话结束后销毁的环境变量。我尝试在“设置环境变量”任务中设置它们
目录结构
我正在编写一个rails后端应用程序。我正在为单独工作的前端开发人员提供RESTAPI。因此,目前我已通过在我的application.rb中添加以下内容启用了跨源资源共享:
#todo remove this once ui is integrated into the app. following allows requests from other domains (disble CORS).
config.action_dispatch.default_headers.merge
我已经为很多人设置了以下模型:通过关系
class StudyLevel < ActiveRecord::Base
has_many :events_study_levels
has_many :events, :through => :events_study_levels
end
class Event < ActiveRecord::Base
has_many :events_study_levels
has_many :study_levels, :t
在Rails 4.2中,我可以写:
class Task < ActiveRecord::Base
enum priority: { normal: 50, low: 0, high: 100 }
end
Task.priorities.key(100)
=> "high"
类任务
我是RubyonRails新手。我正试图将我的应用程序从本地系统部署到heroku,但当我运行heroku run rake db:migrate时,我收到以下错误消息:
正在运行rake db:migrate连接到终端。。。起来,跑
!
! 连接到dyno时出错,请参阅
我一直在关注这个网站的链接,但我不明白那里说了些什么。请提供有关如何成功部署的任何帮助,我们将不胜感激。
谢谢你看来你无法访问rendezvous.runtime.heroku.com:5000
请让您的系统管理员或in
我有一个像这样的Sidekiq工人:
class PrintWorker
include Sidekiq::Worker
def perform(action,data)
parsed_data = JSON.parse(data)
if action=="tiquet"
print_tiquet(parsed_data)
elsif action=="summary"
print_summary(data[0],data[1])
在视图中循环使用每个都不起作用。我还尝试了to_hash方法,但也失败了
我一直试图做的例子
查看JSON中的哈希值
对于echo操作,我有一个jbuilder模板,我想在其中打印所有请求头,其中包含:
json.request_headers request.headers
这给了我:ActionView::Template::Error(未打开阅读)。对于paramshash,同样的方法也可以完美地工作
记录键和值
然后,在echo控制器中,我执行了以下操作:
incr=0
request
我正在使用教程学习Pundit,教程中的这句话完全把我弄糊涂了:
假设策略对象名为UserPolicy,我们将使用它
对于来自用户控制器的授权,您可能会错误地假设
策略对象的名称将始终与
控制器。事实并非如此
如何创建一个策略(一组策略),允许具有“角色\u a”的用户使用“用户\u控制器.索引”操作,以及具有“角色\u b”的用户使用“订单\u控制器.索引”操作
1.1这是否需要两种不同的策略(UserPolicy和OrderPolicy),或者我是否应该为每个控制器命名不同的索引操作,以便在
在活动模型序列化程序中,您可以通过执行respond with resource,Serializer:ViewContractsSerializer来使用不同的序列化程序。问题是,我希望通过使用serializer:View{resource_name}serializer使其成为动态的,但这不起作用,因为它是一个字符串。如果我使用serializer:evalView{resource_name}serializer,它当然可以工作,但我知道您不应该在生产代码中使用eval。Rails有一个
使用原始SQL时,我有以下范围:
class DeliveryZone < ActiveRecord::Base
def self.contains(addressable)
point = addressable.lonlat
where(<<-SQL.squish)
ST_Intersects("delivery_zones"."shape", ST_GeomFromText('#{point}'))
SQL
end
end
。。。
我正在使用ransack进行搜索,现在我想在rails应用程序中实现分页。所以我用的是will_paginate宝石。我面临的问题是,我不知道如何将分页放在当前控制器代码中,因为它已经基于查询获取了结果
这是我的控制器代码
def search
if params[:search].present? && params[:search].strip != ""
session[:loc_search] = params[:search]
end
arrResult = Arr
我有一个名为时间表的模型。我想为这个时间表模型创建一个嵌套表单。意味着我不想添加任何子模型。基本上,我想为单个模型(时间表)创建嵌套表单。
当我点击add按钮时另一个表单应该出现在父模型(时间表)中,同样当我们点击remove时,表单应该被删除。我该怎么做?有没有gem可以这样做
我使用的是自指关联
获取错误:无效关联。确保接受的\u嵌套的\u属性\u用于:日志\u时间关联。
<%= nested_form_for(@log_time, html: {:class => 'form-
我从github克隆了一个rails项目,并尝试在运行bundle install之后运行rails generate rspec:install。控制台提供以下信息
`Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 105 页