小编Tal*_*boy的帖子

带有wirble的rails控制台?

我如何使用带有wirble gem的rails控制台?我最初拥有wirble给你的代码并把它放在我的.irbrc中

在这一点上,irb在wirble(颜色突出显示)下运行良好,但是当我开始rails console它时会出现关于wirble和停止的错误.

我更改了irbrc代码,因此它不会停止但是会继续出错,这至少会rails console加载,但是没有颜色突出显示.

我应该提出什么想法?这是在我的irbrc

begin 
  # load and initialize wirble
  require 'wirble'
  Wirble.init
  Wirble.colorize
rescue 
  puts "Couldn't load Wirble, continuing anyway"
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails irb ruby-on-rails-3

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

留下未使用的REST动作是不是很糟糕?

我真的很困惑如何做到这一点.

我也很累,也很沮丧,看着这么多不同的东西,我的大脑也在受伤.

  1. 保留未使用的REST操作是不好的做法?我有一个资源模型,例如,用户可以提交它们,但我不需要'index'动作来显示它们,因为它是由Home#index控制器处理的.我想要做的就是使用link_to转到带有表单的页面来添加新资源.所以现在所有的link_to都试图在我执行resources_path时继续尝试转到/ resources.我读了你如何使用'遗留'方法,只是直接链接到控制器中的动作,但这不是"轨道方式".现在我试图找出什么是rails方式如果我没有使用默认情况下所做的所有不同的REST操作.

  2. 以上情况听起来像我这样做吗?我希望它在home #index中列出所有资源而不是资源#index?

  3. 如果这是不好的做法,那么我该如何手动创建它们呢?我在网上看到的所有教程都是"只是打字resource :user而且你很好!它不会说如果你不想要/需要它们怎么做

  4. 如果我想更改默认的网址怎么办?我并不特别关心它,但IRC的每个人都在告诉我这是'错的'.如何更改URL错误?我希望它是/ resource/submit而不是/ resources/new.单数/复数似乎对我更有意义,看起来更专业.

  5. 鉴于我留下所有网址相同.如果我转到/ resources/new并点击表单上的"提交"

模板丢失了

Missing template 
resources/create, application/create with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "/Users/Zesty/Code/gem-portal/app/views" * "/usr/local/lib/ruby/gems/1.9.1/gems/devise-2.0.4/app/views"
Run Code Online (Sandbox Code Playgroud)

如果我有资源:我的路线中的资源我不知道为什么它不会自动转到资源#create:

  def create
    @resource = Resource.new(params[:resource])
  end
Run Code Online (Sandbox Code Playgroud)

谢谢!

顺便说一句,这是我的路线中的最新情况,万一有任何明显的错误

  root  :to => 'home#index'

  resources :resources
  # match '/resource/submit',    :to => 'resources#new'

  match '/learn',    :to => 'pages#learn'
  match '/contact',  :to => 'pages#contact'
  match '/requests', :to => 'pages#requests'
Run Code Online (Sandbox Code Playgroud)

ruby rest ruby-on-rails ruby-on-rails-3

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

如何改变css文本的"内部"直线高度

我正在尝试使用名为entypo的图标字体.字体很棒,但开发人员选择的填充是可怕的,并使这个字体真的很好用.虽然图标非常好,但我只是想让它发挥作用.

它归结为使字体看起来"正常",字体大小需要很大(如40px +).

如果您试图将图标放入15px高度的空间,则字体大小将为40px,然后您需要处理所有额外空间.

我尝试在每个可能的组合中设置显式高度,显式线高度,垂直对齐,结果是PC和mac之间的差异.

我唯一能想到的是,"剩余空间"由不同的操作系统以不同的方式处理.

是否有一些我不知道的CSS属性会解决这个问题?

个人计算机

在此输入图像描述

苹果电脑

在此输入图像描述

这是我过去常常尝试的非常糟糕的CSS,并尽可能地将其归零.请记住,我已经尝试过玩高度和线高,它总是同样的问题,PC总是把它放在mac放置的地方.

.icon {
    font-family: 'entypo';
    display: inline-block;
    color: #000;
    font-size: 40px;
    line-height: 0;
    height: 0;
    vertical-align: middle;   
}
Run Code Online (Sandbox Code Playgroud)

为了上面的那些图片来演示给你们,这些是我添加的属性: height: 20px; width: 20px; background: red;只是为了演示它如何呈现如此不同.

html css fonts css3 font-face

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

如何在模拟器中测试Branch.io?

我正在摸不着如何在模拟器上测试我的branch.io集成.

对于链接生成,我使用的是Javascript/web SDK而不是iOS SDK.当您点击我的目标网页上的"在应用中查看内容"按钮时,它会生成链接并关注它.

所有这一切都很有效,但是当我在模拟器中打开跳转页面时,它实际上从未尝试打开具有相同包标识符的手机上的本地应用程序.

我猜这可能是因为当前的应用程序商店URL框是空白的(因为它还不存在)...但我不知道如果我无法获得深层链接,我应该如何测试它是否有效在本地触发它.

谢谢!

deep-linking ios ios-simulator branch.io ios9

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

React Native:如何管理9000 Android屏幕尺寸?

在过去的6个月中,我使用React native为iOS和Android构建了最疯狂的复杂应用程序.

一切都很完美,一切都很好......

我使用我编写的特殊组件为iPhone 4s,5,6,6 +设计了基本上像...

override: {
  ip4: { fontSize: 8 },
  ip5: { fontSize: 10 }
}
Run Code Online (Sandbox Code Playgroud)

等等

这实际上工作完美适用于iOS.

今天我开放了GA并且害怕意识到我忘了设计Android风格.我看了一下我们的谷歌分析,确实有700个不同的屏幕尺寸.

我对所有这些设计的前景感到十分困惑,特别是考虑到多个像素密度.

我的问题是,我实际上做了什么来解释......

  • 边距/间距(基本上是填充或其他的通用整数)
  • 字体大小

这些是我很困惑如何处理所有不同组合的两件事.

我已经看过了PixelRatio,但我不知道如何使用它,即使我在正确的轨道上.

大多数人如何处理这个问题?

android react-native

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

在 upsert 上以不同的方式处理某些行 -> 存在吗?

我正在使用 Rails 6 和新upsert_all方法。

这非常有用,但是,我有一些关于如何在新记录时添加列的问题。以created_at列为例。

如果记录是新的,您会想要添加这个(以及任何其他null: false没有default: ...

但是,created_at如果我正在更新,我也不想改变。

除了删除列之外,我将如何处理?

ruby ruby-on-rails ruby-on-rails-6

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

Rails 6 - Heroku 上的 InvalidAuthenticityToken

到目前为止,我还没有看到任何答案,如果不建议禁用它(我不想这样做),就不会回答这个问题。

在本地,一切正常,但部署到 Heroku 上的生产环境中,我得到了InvalidAuthenticityToken.

从我所看到的一切来看,一切都设置正确。

  • 全新应用程序已打开Rails 6.0.3.1(因此不会迁移默认设置可能被禁用的位置)
  • RAILS_MASTER_KEY在 Heroku 中设置会话
  • session_store.rb设置Rails.application.config.session_store :cookie_store, key: '__app_session', expire_after: 1.year
  • csrf_meta_tags在我的布局以及csp_meta_tag
  • 没有使用ajax,这是一个普通的form_with. 我可以在开发工具中看到 CSRF 标记,所以我知道它位于 HTML 中

我认为这可能是因为ApplicationController

before_action :authenticate
Run Code Online (Sandbox Code Playgroud)

然而,似乎prepend: true不再在应用程序控制器中设置......

无论如何,我尝试通过添加它来覆盖它(即使默认情况下它不存在,并且如果我将其添加到行上方,它仍然不起作用before_action

protect_from_forgery with: :exception, prepend: true
Run Code Online (Sandbox Code Playgroud)

编辑我还要说修复了 Sidekiq在尝试发出 DELETE 命令时显示禁止的问题(终止作业按钮)

ruby ruby-on-rails heroku ruby-on-rails-6

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

如何在启动时自动创建resque worker?

好的,我正在制作我的第一个ruby应用程序.谁知道将所有东西都移到'生产'上就太复杂了.到目前为止,我一直在努力配置乘客,让它在启动时运行,然后在启动时运行redis.

我的最后一项任务是在启动时添加1名工作人员.现在,我必须ssh并运行我的rake命令rake workers:start.显然,当我想关闭ssh时这不好.所以我真的不知道下一步是怎么回事.

我尝试将resque默认配置复制到config.ru,它只是炸毁Passenger有错误.我也调查了一些人提到的resque-pool,但这已经超出了我的想象.

我所要做的就是在启动时添加1名工作人员.在这一点上,这不是一个如此简单的app应该是最好的.

ruby rack passenger resque redis

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

为什么fetch返回一个奇怪的整数哈希?

我正在使用fetch带有React Native的API.

{"message": "error here"}如果状态> = 400,我的响应遵循正常格式,我将在本机弹出窗口中显示.

response.json()在检测到故障后试图打电话,但它仍然把所有东西都放在一个奇怪的格式中......

{ _45: 0, _81: 0, _65: null, _54: null }

无论出于何种原因...我想要的实际响应位于_65......我不知道这些随机键是什么.

所以目前我不得不通过它访问它_bodyText,但我认为这是错误的,因为它是一个私有的下划线方法.

我究竟做错了什么?

var API = (function() {

  var base = 'https://example.com/api/v1';

  var defaults = {
    credentials: 'same-origin',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    }
  };

  var alertFailure = function(response) {
    if (response.status >= 200 && response.status < 400) {
      return response;
    } else {
      var json = JSON.parse(response._bodyText || '{}');
      var message …
Run Code Online (Sandbox Code Playgroud)

javascript react-native fetch-api

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

如何在最新的 Vue 中禁用 eslint 覆盖?

我曾经有这个vue.config.js,但在 vue 或其 deps 最新升级后它不再工作:

chainWebpack: config => {
  // disable eslint nag screen when building for different environments
  if (!isProduction) config.module.rules.delete('eslint');
}
Run Code Online (Sandbox Code Playgroud)

文档的一部分vue-cli说我可以这样做:

  devServer: {
    overlay: {
      warnings: false,
      errors: false
    },
Run Code Online (Sandbox Code Playgroud)

但它说overlay这不是一个有效的选项

eslint webpack vue.js vue-cli eslintrc

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