javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

ruby on rails-包含模数时出现“未初始化的常量”错误

我正在尝试引用关联扩展,但是它出现以下错误:

NameError (uninitialized constant User::ListerExtension):
  app/models/user.rb:2:in `<class:User>'

这是我的实现:

app / models / user.rb

class User < ActiveRecord::Base
  include ListerExtension

  has_and_belongs_to_many :roles, :uniq => true, :extend => Lister

lib / lister.rb

module ListerExtension
  def lister
    self.map(&:to_s).join(', ')
  end
end

我正在使用Rails v3.1.3。

trans by 2020-07-13T04:34:12Z

ruby on rails-设计API身份验证

我正在开发一个Rails Web应用程序,该应用程序还为移动设备提供了基于JSON的API。 移动客户端应首先通过(电子邮件/通过)获得令牌,然后客户端将使用该令牌进行后续的API调用。

我对Devise相当陌生,我正在寻找一个类似于authenticate(email, pass)的Devise API,并希望它返回true / false,然后基于此,我将创建并返回令牌或返回拒绝消息。 但似乎Devise没有提供类似的信息。

我知道Devise 1.3提供了基于JSON的身份验证,但这与我需要的有所不同-我需要生成令牌并处理回客户端,然后在使用该令牌完成身份验证之后。

有人可以指点一下吗?

trans by 2020-07-13T03:56:58Z

macos-无法在OSX Lion上安装带有RVM的Ruby Enterprise Edition

到目前为止,这是我所做的。

  1. 全新安装OS X Lion
  2. 从App Store下载并安装了最新版本的Xcode。
  3. 安装的Git
  4. 已安装自制软件
  5. 已安装的RVM

我现在正尝试为具有CC=/usr/bin/gcc-4.2 rvm install ree的项目安装Ruby Enterprise Edition,并收到以下错误:

$ rvm install ree
ree-1.8.7-2011.03 - #installing
ERROR: Error running './installer -a /Users/FaraazKhan/.rvm/rubies/ree-1.8.7-2011.03
  --no-tcmalloc --dont-install-useful-gems ', please read
  /Users/FaraazKhan/.rvm/log/ree-1.8.7-2011.03/install.log
ERROR: There has been an error while trying to run the ree installer. Halting
  the installation.

我已经尝试了CC=/usr/bin/gcc-4.2 rvm install ree,并且结果相同。

trans by 2020-07-12T21:15:16Z

Ruby on rails-将链接放入Flash [:notice]

我正在学习Ruby和Rails。

我有一个Ruby on Rails项目,该项目跟踪服务器正在运行的作业。 现在,当我手动创建新作业时,它会宣布:

flash[:notice] = "Created job job number #{update.id}."

我想将flash[:notice]变成作业列表上该作业的链接。

转到该作业的URL是flash[:notice],其中1234是在Flash通知中显示的update.id

是否可以在flash[:notice]语句中添加链接? 还是我需要重新处理此消息的显示方式以将其转换为链接?

trans by 2020-07-12T13:13:04Z

Ruby on Rails-Rubygems不安装在OS X Lion上

我以前对红宝石,宝石和所有相关的东西都没有任何问题。 但是在安装X Code Developer Tools并升级到Lion之后,不会安装gem。

对于每个宝石,我都会收到以下错误。 这是sqlite的消息作为示例:

Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out

什么地方出了错? 如何解决?

trans by 2020-07-12T12:10:58Z

ruby-如何在最后一次出现分割字符时将字符串分割为两部分?

例如:

"Angry Birds 2.4.1".split(" ", 2)
 => ["Angry", "Birds 2.4.1"] 

如何将字符串拆分为:["Angry Birds", "2.4.1"]

trans by 2020-07-12T02:11:55Z

ruby on rails-如何在没有触摸updated_at属性的情况下更新单个属性?

我该如何实现?

试图创建2个方法,称为

def disable_timestamps
  ActiveRecord::Base.record_timestamps = false
end

def enable_timestamps
  ActiveRecord::Base.record_timestamps = true
end

和更新方法本身:

def increment_pagehit
  update_attribute(:pagehit, pagehit+1)
end

使用以下回调打开和关闭时间戳:

before_update :disable_timestamps, :only => :increment_pagehit
after_update :enable_timestamps, :only => :increment_pagehit

但它没有更新任何内容,甚至没有更新所需的属性(pagehit)。

有什么建议吗? 我不想创建另一个表只是为了统计页面点击数。

trans by 2020-07-11T22:14:29Z

红宝石- vs::(点与双冒号),用于调用方法

这个问题已经在这里有了答案:

  • Ruby的双冒号`::`是什么? 10个答案
  • ::(双冒号)在Ruby中是什么意思? [重复] 3个答案
  • Ruby的双冒号(::)运算符用法差异 2个答案

我正在从《 Poignant Ruby指南》中学习Ruby,在一些代码示例中,我遇到了双冒号和点的用法,这些用法似乎用于相同的目的:

File::open( 'idea-' + idea_name + '.txt', 'w' ) do |f|
   f << idea
end

在上面的代码中,双冒号用于访问File类的read方法。 但是,我后来遇到了出于相同目的使用点的代码:

require 'wordlist'
# Print each idea out with the words fixed
Dir['idea-*.txt'].each do |file_name|
   idea = File.read( file_name )
   code_words.each do |real, code| 
     idea.gsub!( code, real )
   end
puts idea
end 

这次,使用了一个点来访问File类的read方法。 之间有什么区别?

File.read()

File::open()
trans by 2020-07-11T13:35:17Z

ruby-在jekyll博客中支持标签的简单方法

我正在使用标准的jekyll安装来维护博客,一切正常。 除了我真的很想标记我的帖子。

我可以使用YAML前端标签为帖子添加标签,但是如何为每个标签生成可以列出该标签所有帖子的页面?

trans by 2020-07-10T19:43:34Z

什么是红宝石宝石?

我在Google上搜索过,才发现gem的用途。 例如,gem安装等。

是.rb脚本的gems集合吗?

例如,如果我构建了一系列脚本,这些脚本包装了Google翻译的功能,那么将其分发以供使用的首选方法是gem吗?

如果没有,我将如何分发此代码?

trans by 2020-07-10T17:27:45Z

红宝石-Rails路由(root:to => ...)

我知道如何将Rails应用程序的根目录设置为控制器和操作。

但是如何添加ID?

/pages/show/1应该是根。

我该如何设置?

trans by 2020-07-10T15:25:15Z

ruby-在Rails中,如何获取当前网址(但没有路径)

如果我的网址是

http://domain.com/mysite/bla

如何仅请求没有路径的URL? 如

http://domain.com 
trans by 2020-07-10T15:01:28Z

红宝石-我应该如何在哈希上使用each_with_object?

我想在哈希上使用each_with_object,但无法弄清楚应该如何使用它。 这是我所拥有的:

hash = {key1: :value1, key2: :value2}
hash.each_with_object([]) { |k, v, array| array << k }

NoMethodError: undefined method `<<' for nil:NilClass

是否可以在哈希上使用each_with_object? 如果是,语法是什么?

trans by 2020-07-10T11:09:00Z

ruby-如何设置在方法测试中使用的私有实例变量?

给定一个带有几个实例变量和一些方法的类。 某些实例变量可通过Object::instance_eval(:var)context进行设置,因此其他变量是私有的。
一些私有实例变量在一个实例方法中设置,并在另一个方法中读取/使用。

为了进行测试,我使用了RSpec。 由于我还是Ruby的新手,并且想把所有事情都做对,因此我将测试定义为非常精细。 因此,对于每个实例方法,我都有一个Object::instance_eval(:var)块,它们自己被划分为contexts和its的子集。 before定义了一般环境先决条件。

但是,在测试其中一种方法(利用但未设置其中一个私有变量)时,我需要调用另一种方法来设置此变量。 对于我来说,这似乎有些超重而不是模块化的。

有没有一种方法可以将私有实例变量强制为某个值。 类似于使用Object::instance_eval(:var)“删除”私有实例变量的值。

trans by 2020-07-10T11:04:06Z

ruby-在Rails中命名布尔列

假设我有一个trained?,我想在Rails中存储它是否是trained。 按照惯例,返回布尔值的Ruby方法的名称以?结尾。我应该调用数据库列trained?,还是应该调用数据库列trained并拥有一个方法

class Dog
  def trained?
    trained
  end
end

后一种选择似乎效率不高,尤其是当我有很多布尔字段时。

还是我缺少其他选择?

trans by 2020-07-10T05:48:14Z

如何在Ruby on Rails中进行电子邮件验证?

我正在使用以下方法在Rails中进行电子邮件验证:

validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i

另外,我在前端进行HTML5验证,但电子邮件地址例如

..abc@gmail.com
.abc@gmail.com

仍然有效。 我想念什么?

trans by 2020-07-10T04:40:43Z

如何创建红宝石Hello World?

我知道在PHP中您必须解释类似index.php的页面,但是在Ruby中它如何工作? 我不知道像PHP的index.php这样的Ruby扩展是什么。 你可以帮帮我吗?

trans by 2020-07-09T23:46:37Z

javascript-Rails 4:在特定页面中禁用Turbolinks

我正在尝试使用Rails 4和Turbolink在一个具体页面中制作JS代码片段。 我尝试了标准解决方案:

<script type="text/javascript">

    var ready = function() {
        // Bla bla
    };

    $(document).ready(ready);
    $(document).on('page:load', ready);
</script>

但这似乎不起作用。 我的片段是这样的:

<script type="text/javascript">
  function ismready() 
  {
    var API_KEY = "api key";
    var roomId  = "room id";
    var ism = new Ismuser(API_KEY, roomId);
    ism.init({
      board: {
        layer: "board"
      },
      video: {
        camsContainer: "guest"
      },
      chat: {
        layer: "chat"
      },
      moderator: true,
    });
  }
</script>
<script src="http://assets.ismuser.com/v0.4/js/ismuser.js" type="text/javascript"></script>

该代码段无法按预期运行(即使使用标准解决方案也是如此),最后我只想在此页面中禁用Turbolinks。

我该怎么做?

-解决方案

<% content_for :body do %>
    <% if controller.controller_name == 'home' && controller.action_name == 'demo1' %>
        <body data-no-turbolink="true">
    <% end %>
<% end %>
trans by 2020-07-09T11:01:40Z

Ruby的File.open给出“没有这样的文件或目录-text.txt(Errno :: ENOENT)”

我在Win 7机器上安装了Ruby 1.9.2。 创建了一个简单的text.txt文件。 它具有这一行:

File.open("text.txt").each {|line| puts line}

当我运行代码时,它给了我这个错误:

analyzer.rb:1:in `initialize': No such file or directory - text.txt (Errno::ENOENT)
from analyzer.rb:1:in `open'
from analyzer.rb:1:in `<main>'
Exit code: 1

我不明白 在与analyzer.rb文件相同的目录中有一个text.txt文件。 我还尝试提供文件的绝对路径C:\Ruby192\text.txt,但没有骰子。 我想念什么?

trans by 2020-07-09T09:34:40Z

ruby-Rails 5 API Con中的未定义实例方法“ respond_to”

在用--api创建的Rails 5中,我有一个错误

NoMethodError (undefined method `respond_to' for #<Api::MyController:0x005645c81f0798>
Did you mean?  respond_to?):

但是,在rails 4.2的文档中说[http://edgeguides.rubyonrails.org/4_2_release_notes.html]

response_with和相应的类级别的response_to已被 移至响应者的宝物。 将宝石“响应者”,“〜> 2.0”添加到您的 Gemfile使用它:

实例级别的response_to不受影响:

我正在调用实例方法。 怎么了?

class ApplicationController < ActionController::API
end

# ...
class Api::MyController < ApplicationController

  def method1
    # ...
    respond_to do |format|
      format.xml { render(xml: "fdsfds") }
      format.json { render(json: "fdsfdsfd" ) }
    end
trans by 2020-07-09T05:51:12Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共79页