小编Tim*_*ss 的帖子

成功推送到 Heroku 后的错误消息

remote: Verifying deploy... done.
fatal: protocol error: bad line length character: fata
error: error in sideband demultiplexer
Run Code Online (Sandbox Code Playgroud)

这只是随机开始出现。我的更改被保存在 git 中并成功推送到 Heroku。我不知道这意味着什么或导致它的原因,因为我根本没有做任何新的事情。

git heroku

20
推荐指数
2
解决办法
3583
查看次数

使用follow/unfollow按钮对用户进行分页:由于重复的类名,Ajax会遇到问题

我的users/show.html.erb页面正常工作,因为每个页面上只显示一个类名.当用户在分页users/index.html.erb一起follow/unfollow buttonsrelationship/js.create.erbrelationship/js.destroy.erb得到古怪,因为在页面上重复类名,(第一个分页用户更新,无论哪个用户跟随/停止追随,这只是自我修复时,页面被刷新(实际的模型仍工作正常)).

我没有使用unfollow/follow partials,users/index.html.erb因为@userindex.html.erb中没有变量,它对@users进行了分页,所以我使用了user.id.

class RelationshipsController < ApplicationController
before_action :logged_in_user

def create
  @user = User.find(params[:followed_id])
    current_user.follow(@user)
    respond_to do |format|
      format.html { redirect_to @user }
      format.js
    end
  end

  def destroy
    @user = Relationship.find(params[:id]).followed
    current_user.unfollow(@user)
    respond_to do |format|
      format.html { redirect_to @user }
      format.js
    end
  end
end

**relationships/create.js.erb**
$("#follow_form").html("<%= escape_javascript(render('users/unfollow')) %>");
$("#followers").html('<%= @user.followers.count %> <br> followers');

**relationships/destroy.js.erb**
$("#follow_form").html("<%= escape_javascript(render('users/follow')) %>");
$("#followers").html('<%= @user.followers.count %> <br> followers');

**users/index.html.erb** 
<div class="row …
Run Code Online (Sandbox Code Playgroud)

ajax pagination ruby-on-rails

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

如何在 :if 验证中使用枚举值

假设我们有一个枚举

enum status: { pending: 0, finished: 1, extended: 2 }
Run Code Online (Sandbox Code Playgroud)

我们想要根据枚举状态的值创建一个验证

validates_presence_of :explanation, if: ...enum status is equal to "extended"
Run Code Online (Sandbox Code Playgroud)

我一直用蛮力,尝试了很多组合,但似乎找不到任何有效的方法。

enums ruby-on-rails ruby-on-rails-5

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

我的rake任务没有出现在rake -T中

我不知道wtf是怎么回事,但我刚创建了一个新的Rails应用程序,无法让任何rake任务工作或显示在 $ rake -T

LIB /任务/ hello.rake

namespace :hello do 
  desc "hello"
  task :you do 
    puts "hello"
  end
end
Run Code Online (Sandbox Code Playgroud)

$ rake -T

它没有出现在那里

$ rake hello:you

耙子流产了!不知道如何构建任务'你好:你'(参见--tasks)

的Gemfile

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.2'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets …
Run Code Online (Sandbox Code Playgroud)

rake ruby-on-rails rake-task

4
推荐指数
3
解决办法
1040
查看次数

是否可以询问是否有任何参数?

以下代码:

<% if params[:country].present? %>
  <%= link_to 'Clear Filters', users_path %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

工作正常,但是不必从我的模型中列出每个参数,有一种干燥的方法来重写上面的代码 if params[any].present?

我试过以下没有成功:

if params.present? 
if params.any? 
if params[].present? 
if params[''].present?
unless params.empty? 
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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