Tag: 的Ruby on 轨道

邮件内部样式邮件模板不工作

在rails mailer模板中编写的内部样式不起作用。 … … … … 如何解决这个问题呢?

显示个人用户评分(letrate gem)

我目前在我的应用程序中使用了letrate gem( https://github.com/muratguzel )并且评级显示正确。 但是,我想显示单个用户提交的评级,而不是仅显示平均值。 详细信息:“rating_for”帮助程序仅显示用户集合的平均评分,但我希望能够显示用户提交的各个评级(而不是平均值)。 例如,用户A可以为维度提交2星的评级,并且用户B可以针对相同维度提交4星的评级。 “rating_for”帮助器将显示3星的平均评级,但我无法获得用户A和用户B的个人评级。

cap deploy:migrations:错误:第1行第1列不允许控制字符(Psych :: SyntaxError)

请看下面的错误(第1行第1列不允许使用控制字符(Psych :: SyntaxError))并帮我解决它。当我尝试在ubuntu 12.10 ruby​​上运行命令“cap deploy:migrations”时出现错误1.9.3 Rails 3.2.0。 有用于部署的本地Apache服务器。 我在stackoverflow上尝试了不同的解决方案,但没有人解决问题。 提前致谢 —————————————- Error Detail: —————————————- imran@IJM:~/development/work/depot$ cap deploy:migrations triggering load callbacks * 2013-09-06 11:43:13 executing `deploy:migrations’ * 2013-09-06 11:43:13 executing `deploy:update_code’ updating the cached checkout on all servers executing locally: “git ls-remote imran@IJM:git/depot.git master” command finished in 359ms ……. ……. * executing “[ -e /home/imran/IJM/shared/assets/manifest* […]

使用rails中的表单批量更新对象

我有一个人模型和报价模型。 每个人都可以有很多与之相关的引号,而这些引号又包含与作者,文本,与其关联的URL。 在实践中,实际上只有一个人有一个引号对象,但所有人都可能有一个。 我试图在引号上有一个简单的大容量温和工具。 用户可以输入引号,管理员可以输入特定人的所有引号(但在实践中,只有一个人会拥有它们)并选中一个设置布尔批准为0或1的框。实际显示引号,它们由此字段过滤。 我试图创建一个可以批量更新这些内容的表单。 我得到了表单,以显示所有这些: { :method => :put }, :url => {:controller => “quote”, :action => “bulk_update”, } do |quote_form| %> Text…. 我的批量更新控制器中只有一个非常通用的东西,它基本上就像一个普通的更新控制器。 我不知道该放什么。 我可以尝试将所有引号都放在我可能应该但我不知道如何到达那个变量,因为我正在从Person视图等中做所有这些。控制器是这样的: def bulk_update @quote = Quote.find(params[:id]) end 我想我对那里应该存在的ID以及应该传入的内容感到困惑。这个人ID应该是其中的一部分吗? 就像我说的那样,我并不在乎技术上是否所有引号都显示在该页面上,它们不需要按用户排序。 我得到的参数看起来像这样: “quotes”=> {“id”=> {“6”=> {“approved”=>“0”},.. 但它抱怨没有身份证没有找到报价。 我不关心ID,因为我想批量更新所有ID。 看起来这个特殊的结构会映射几个ID,但也许(可能)我必须改变我的控制器以弥补这一点,但不确定如何。 当我尝试删除散列的引号并且只有“id”=> {“6”=> {“approved”=>“0”},…作为我的参数时,它也不起作用。 编辑:我发现了一个名为update_all的声明,但我不知道如何选择性地传递它我需要的…

rake环境弹性搜索:import:所有FORCE = y一直失败

我正在运行搜索和弹性搜索,我一直在尝试重新创建我的索引,因为我的rails应用程序正在崩溃,但这也一直在失败。 我对此非常陌生,所以感到非常失落。 我运行rake environment elasticsearch:import:all FORCE=y 但错误是 Starting up a new ElasticSearch client with [IMPORT] Loading models from: /home/ubuntu/workspace/sample_app/app/models 2016-03-11 16:32:07 +0000: [Faraday::ConnectionFailed] Connection refused – connect(2) for “localhost” port 9200 {:host=>”localhost”, :port=>9200, :protocol=>”http”} rake aborted! ArgumentError: users does not exist to be imported into. Use create_index! or the :force option to create it. /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-model-0.1.8/lib/elasticsearch/model/importing.rb:118:in […]

如何通过link_to与Rails从页面上的其他字段提交值?

这是我想要做的: “forms[0][‘user_brand_role_role_id’].value”, :method => “POST”, :remote => true %> 我知道这不起作用。 我想远程调用控制器方法,包括作为参数在除被点击之外的字段中选择的值。 如何使用Javascript引用link_to中的其他字段? 或者还有另一种策略更好吗?

手动路由和“无法找到具有id = new的用户”错误

我正在尝试为我的用户模型手动创建路由(不是使用“ resource: users ”), 所以在routes.rb : get ‘/users/:id’, to: ‘users#show’, as: ‘user’ get ‘/users/new’, to: ‘users#new’, as: ‘new_user’ 但是当我试图去/users/new我得到”Couldn’t find User with id=new” 。 我确实理解它为什么会发生,但我想找到原样允许它(不改变其中一条路径)。 怎么可能?

Rails路由约束不按预期工作

我今天早些时候问过这个问题,关于将所有路由包装成默认的json格式。 我本可以发誓它早点工作但我可能错了。 怎么运作: resources :insurances, only: [:index, :show], :defaults => { :format => ‘json’ } 但这不是: constraints format: :json do resources :insurances, only: [:index, :show] end 我是否遗漏了约束如何运作的基本内容?

导航到使用TurboLinks的页面时,不会显示Google跟踪代码管理器预览

我不认为GTM正在为我的Rails应用程序正确记录数据。 当我使用预览function时,开发人员工具中的GTM预览数据仅在初始页面加载时显示,后续页面加载(使用turbolinks)不显示预览数据。 我应该如何使用TurboLinks设置GTM? 我在标题中设置了我的GTM,如下所示: var dataLayer = []; (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({‘gtm.start’: new Date().getTime(),event:’gtm.js’});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!=’dataLayer’?’&l=’+l:”;j.async=true;j.src= ‘https://www.googletagmanager.com/gtm.js?id=’+i+dl;f.parentNode.insertBefore(j,f); })(window,document,’script’,’dataLayer’,’GTM-N7MDCP’); 然后在身体的顶部: dataLayer.push({‘userID’: ”},{‘userCategory’: ‘User’}); var url = window.location.href; dataLayer.push({ ‘event’:’pageView’, ‘virtualUrl’: url });

Ruby on Rails – 保存和更新连接表中的属性,其中包含多个=> through

为简化起见,我有3个表: 人 has_many:能力,通过=>:统计 能力 has_many:people,through =>:stats 统计 belongs_to:人 belongs_to:能力 统计数据有一个名为“评级”的额外属性。 我想做的是制作一个编辑人员表格,它始终列出数据库中当前的所有能力,并让我为每个人分配一个评级。 对于我的生活,我无法弄清楚如何做到这一点。 我在创建一个具有以下内容的新用户时设法让它工作: (来自人民控制员) def new @character = Character.new @abilities = Ability.all @abilities.each do |ability| @person.stats.build(:ability_id => ability.id ) end end From the people form: @ability.id, :index => nil %> nil %> 这成功地给了我一个能力列表,旁边有评级框,如果我正在创建一个新用户,我可以保存它们。 问题是,如果我然后加载编辑表单(使用相同的表单部分),它不会带回评级,如果我保存,即使具有完全相同的评级,它会在统计表中创建重复的条目,而不是更新它。 我意识到我是一个可怕的程序员,我可能这样做的方式不对,但是如何让编辑表单回忆起为该用户分配给每个能力的当前评级,其次如何让它更新如果人和能力的组合已经存在,那么评级而不是重复它?