小编Rob*_*ali的帖子

Rails,在主页上呈现不同的标题

我正在创建一个rails应用程序,我必须区分主页的标题.

我已经创建了一个部分的_home_header版本和_header版本,以便在每个页面中使用,但我不知道如何管理更改.

标题包含在我的布局中,我为每个页面呈现相同的布局.当我请求主页时,如何告诉"布局"使用_home_header版本而不是标准版本?

ruby-on-rails

8
推荐指数
1
解决办法
4331
查看次数

带有POST功能的Rails ajax:为什么模板丢失了?

我正在使用ajax提交完成头像上传和裁剪.

我通过ajax发送base64图像然后我将我的图像转换为carrierwave.

一切正常,除了ajax响应:模板缺失.

这是我的ajax电话:

$.ajax({
  type: "post",
  dataType: "json",
  url: "/profile/update_avatar",
  data: { image: canvas.toDataURL() }
})
.done(function(data) {

  // You can pull the image URL using data.url, e.g.:
  $('.user-image').html('<img src="'+data.url+'" />');

});
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

def update_avatar
respond_to do |format|
  if current_user.update_cropped_avatar(params[:image])
    format.js
    format.html { render :nothing => true, :notice => 'Update SUCCESSFUL!' }
  else
    format.html { render :action => "edit" }
    format.json { render :json => current_user.errors, :status => :unprocessable_entity }
  end
end
Run Code Online (Sandbox Code Playgroud)

结束

我不需要渲染模板......但错误是:

Missing template profiles/update_avatar, application/update_avatar with …
Run Code Online (Sandbox Code Playgroud)

ajax jquery ruby-on-rails

7
推荐指数
1
解决办法
8176
查看次数

Rspec,测试关联的存在

我正在尝试测试一个关联.

我有这两个类:

class Survey < ActiveRecord::Base
  has_many :users, through: :users_surveys
  has_many :users_surveys

  def update_or_create_result(user_id, result, target)
    user_survey = users_surveys.find_or_create_by(user_id: params[:user_id])
    if survey_passed?(result, target)
      user_survey.completed!
    end
  end
end

class User < ActiveRecord::Base
  has_many :surveys, through: :users_surveys
  has_many :users_surveys
end

class UsersSurvey < ActiveRecord::Base
  belongs_to :user
  belongs_to :survey
end
Run Code Online (Sandbox Code Playgroud)

如果创建调查和用户之间的关联,我如何使用RSpec进行测试?

rspec ruby-on-rails ruby-on-rails-4

5
推荐指数
2
解决办法
4617
查看次数

Rails 5.1 应用程序与 Vue 和 webpacker 3,css 未编译

我正在尝试将Element UI添加到我的 Vue 应用程序中。我按照快速入门教程进行操作,并且我有我的 application.js

import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/it'
import App from '../app.vue'

Vue.use(ElementUI, { locale })

document.addEventListener('DOMContentLoaded', () => {
  document.body.appendChild(document.createElement('app'))
  const app = new Vue(App).$mount('app')

  console.log(app)
})
Run Code Online (Sandbox Code Playgroud)

我正在导入 CSS,而且我还导入了 CSS

<%= stylesheet_link_tag 'application' %>
Run Code Online (Sandbox Code Playgroud)

在我的布局里面,但这个文件是空的,没有样式。该应用程序正在运行,但没有 CSS。我的错在哪里?

ruby-on-rails webpack vue.js vuejs2 webpacker

5
推荐指数
1
解决办法
986
查看次数

如何从同一个类的另一个实例方法调用实例方法?

我正在学习Ruby,我正在尝试开发一个二十一点游戏.

我创建了一个类,这里​​是GIST

https://gist.github.com/robypez/7288032

我的Hand类为玩家(或经销商)创建一个新的手形对象.它是一个数组,在数组内部,每个卡都由一个带有此键的哈希定义:card,:suit,:value

我对"compensate_ace_value"方法有疑问.此方法必须使用从实例方法ace_number返回的"ace_number"值

如何从类中的另一个实例方法调用实例方法?

我知道我可以定义一个有价值的实例来跟踪我的ace号,但我想知道是否可以从类中的另一个实例方法调用实例方法.

我的实际解决方案是使用实例变量@ace_number,每次调用方法"receive_card"时我调用方法"is_ace?" 在卡上,结果是真的我增加了@ace_number变量.

谢谢

ruby

4
推荐指数
1
解决办法
2824
查看次数

我的迁移中 {:null=&gt;false} 的未定义方法 `to_sym':为什么?

我有一个迁移给我一个错误:

class DeviseTokenAuthCreateUsers < ActiveRecord::Migration
  def change
    unless column_exists? :users, :provider
      add_column :users, :provider, :null => false
    end
    unless column_exists? :users, :uid
      add_column :users, :uid, :null => false, :default => "email"
    end
    unless column_exists? :users, :tokens
      add_column :users, :tokens, :text
    end
    User.reset_column_information
    User.all.each{|u| u.save! }

    add_index :users, [:uid, :provider], :unique => true
  end

end
Run Code Online (Sandbox Code Playgroud)

错误是:

undefined method `to_sym' for {:null=>false}:Hash/Users/scrivoaroby/.rvm/gems/ruby-2.0.0-p481/gems/activerecord-4.1.9/lib/active_record/connection_adapters/abstract/schema_definitions.rb:311:in `add_column'
Run Code Online (Sandbox Code Playgroud)

我的导轨版本是 4.1.9

任何的想法?

ruby-on-rails

4
推荐指数
1
解决办法
2288
查看次数

Vue.js应用程序没有错误,但白页

我正在尝试学习Vue。我阅读了本教程,并尝试使用标准vue-cli Webpack模板将其拆分为单个文件组件。我在控制台中没有任何错误,但是页面是白色的,我不明白为什么。

这是我的main.js文件

import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false
window.axios = require('axios');

const NYTBaseUrl = "https://api.nytimes.com/svc/topstories/v2/";
const ApiKey = "18e1540d187c4b46bae767782750f9fd";
const SECTIONS = "home, arts, automobiles, books, business, fashion, food, health, insider, magazine, movies, national, nyregion, obituaries, opinion, politics, realestate, science, sports, sundayreview, technology, theater, tmagazine, travel, upshot, world";

function buildUrl (url) {
  return NYTBaseUrl + url + ".json?api-key=" + ApiKey
}

const vm = new Vue({
  el: '#app',
  data: {
    results: [], …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js

3
推荐指数
1
解决办法
7113
查看次数

Ruby,来自数组散列的最大值

我有这个哈希

FORMATS = {
    'vertical_4'   => %w[vertical small small small small],
    'horizontal_4' => %w[horizontal small small small small],
    'horizontal_2' => %w[large small small],
    'mixed_3'      => %w[vertical horizontal small small],
    'huge'         => %w[horizontal small small horizontal small small small]
  }
Run Code Online (Sandbox Code Playgroud)

我需要最大值,所以我使用

MAX_ELEMENTS   = FORMATS.map {|_,v| v}.max.size
Run Code Online (Sandbox Code Playgroud)

为什么它返回5而不是7?

ruby

2
推荐指数
1
解决办法
93
查看次数

CKEditor:调用没有工具栏按钮的插件函数

如何在没有工具栏按钮的情况下调用插件功能?

我的 cms 中集成了一个外部浮动工具栏。我使用 CKEditor 的 InsertHTML() API 插入图像、视频和其他静态代码。

现在我还需要从 URL 插入视频,并且有很棒的 oembed 插件。如何在没有工具栏按钮的情况下使用我的 cms 中的按钮启动该插件?

我在我的配置中加载插件,并尝试创建此功能:

function oembed() {
// Get the editor instance that we want to interact with.
var editor = CKEDITOR.instances.editor1;
var url = 'http://www.youtube.com/watch?v=AQmbsmT12SE'
var wrapperHtml = jQuery('<div />').append(editor.config.oembed_WrapperClass != null ? '<div class="' + editor.config.oembed_WrapperClass + '" />' : '<div />');

// Check the active editing mode.
if ( editor.mode == 'wysiwyg' )
{
    // Insert HTML code.
    // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml
    editor.embedCode(url, editor, false, wrapperHtml, …
Run Code Online (Sandbox Code Playgroud)

javascript api ckeditor

1
推荐指数
1
解决办法
5382
查看次数

如何从数组中提取匹配条件的第一个元素?

我正在尝试提取符合条件的数组的第一个元素.

想象一下,我有这个数组:

a = [1,2,3,4,5,6,7]
Run Code Online (Sandbox Code Playgroud)

如何提取大于4的第一个元素,从而获得数组[1,2,3,4,6,7]和提取的元素5

ruby arrays

1
推荐指数
1
解决办法
1243
查看次数

关联关联的 Rails 范围

快速提问。我正在尝试建立一个范围,但没有成功。我有这些模型

class User < ActiveRecord::Base

 belongs_to :store, required: true
has_many :visits
has_one :company, through: :store

end

class Store < ActiveRecord::Base
  belongs_to :company, required: true
  has_many :users, dependent: :nullify
end

class Company < ActiveRecord::Base
  has_many :stores, dependent: :destroy
  has_many :users, through: :stores
end

class Visit < ActiveRecord::Base
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

编辑

现在我需要使用 Chartkick Gem 绘制一些图表,最好的方法是从访问模型开始。

我正在使用

Visit.group_by_day("started_at", range: 3.month.ago.midnight..Date.today.midnight, format: "%b %-e").order("day asc").count
Run Code Online (Sandbox Code Playgroud)

如果我需要所有访问,但现在我还需要过滤公司和商店的访问。

我无法理解如何获得属于特定商店或特定公司的用户的所有访问。

最简单的方法是:

Visit.where("user_id IN (?)", company.users.ids)  
Run Code Online (Sandbox Code Playgroud)

它有效,但我更喜欢编写更好的范围,而我编写的范围不起作用。

  class Visit < ActiveRecord::Base
  belongs_to :user

  scope :user_by_store, ->(store_id) { …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

1
推荐指数
1
解决办法
6857
查看次数

ruby中数组的重复元素

我找到了很多关于删除ruby中的重复项的参考,但我找不到如何创建重复项.

如果我有一个数组,[1,2,3]我怎么能将它映射到一个带有配音项目的数组?[1,1,2,2,3,3]

有方法吗?

ruby

1
推荐指数
1
解决办法
193
查看次数

提取js对象数组中单个键的所有值

我有一个json的对象集合

{  
   "images":{  
      "1":{  
         "image_data":{  
            "votable":true,
            "hashed_filename":"d66f00cf58c4fbbbc9703efff9c7694c"
         },
         "image_reference":1
      },
      "2":{  
         "image_data":{  
            "votable":true,
            "hashed_filename":"5485a21d47e3815cd7f23d5f8a8c8677"
         },
         "image_reference":2
      },
      "3":{  
         "image_data":{  
            "votable":true,
            "hashed_filename":"4df10b887f12d65f2f541c99f0dd1ef8"
         },
         "image_reference":3
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来提取由下划线分隔的字符串中的hashed_filename值?

我需要一个像这样的结果 d66f00cf58c4fbbbc9703efff9c7694c_5485a21d47e3815cd7f23d5f8a8c8677_4df10b887f12d65f2f541c99f0dd1ef8

javascript

0
推荐指数
1
解决办法
353
查看次数