javascript

java

python

c#

node.js

reactjs

android

php

c++

ruby-on-rails

html

jquery

git

css

ios

sql

.net

c

<img src="//i.stack.imgur.com/bk9VA.png" alt="" class="sponsor-tag-img" width="18" height="16"/>android

string

ruby on rails - 渴望加载多态

使用Rails 3.2,这段代码有什么问题?

@reviews = @user.reviews.includes(:user, :reviewable)
.where('reviewable_type = ? AND reviewable.shop_type = ?', 'Shop', 'cafe')

它引发了这个错误:

无法急切加载多态关联:可审核

如果我删除reviewable_type条件,它的工作原理。

如何基于reviewable_typereviewable.shop_type(实际上是shop.shop_type)进行过滤?

trans by 2019-08-19T02:57:02Z

为什么Ruby比Python更适合Rails?

Python和Ruby通常被认为是具有相似表现力和力量的近亲(虽然具有完全不同的历史包袱)。 但有些人认为Rails框架的巨大成功确实与它所构建的语言有很大关系:Ruby本身。 那么为什么Ruby比Python更适合这样的框架呢?

trans by 2019-08-19T01:10:29Z

国际化 - rails i18n - 用里面的链接翻译文本

我想要一个看起来像这样的文字:

已经注册? 登录!

请注意,文本上有一个链接。 在这个例子中,它指向谷歌 - 实际上它将指向我的应用程序的login.en.html.erb

我找到了两种方法,但是没有一种方式可以看到&#34;对&#34;。

我知道的第一种方法涉及到我的login.en.html.erb

log_in_message: "Already signed up? <a href='{{url}}'>Log in!</a>"

在我看来:

<p> <%= t('log_in_message', :url => login_path) %> </p>

这是有效的,但login.es.html.erb上的login.en.html.erb部分对我来说并不是很干净。

我知道的另一个选项是使用本地化视图 - login.en.html.erblogin.es.html.erb

这也感觉不对,因为唯一不同的路线就是前面提到的那条; 对于所有视图,将重复视图的其余部分(~30行)。 它不会很干。

我想我可以使用&#34;本地化的部分&#34; 但这似乎太麻烦了; 我想我更喜欢第一个拥有这么多小视图文件的选项。

所以我的问题是:是否有适当的&#34; 实现这个的方法?

trans by 2019-08-18T22:51:10Z

测试string是否是Ruby on Rails中的数字

我的应用程序控制器中有以下内容:

def is_number?(object)
  true if Float(object) rescue false
end

以及我的控制器中的以下条件:

if mystring.is_number?

end

该条件导致undefined method错误。 我猜测我在错误的地方定义了is_number ......?

trans by 2019-08-18T22:25:19Z

如何在Rails中自动排序has_many关系?

这似乎是一个非常简单的问题,但我还没有看到它在任何地方得到解答。

在rails中如果您有:

class Article < ActiveRecord::Base 
  has_many :comments 
end 
class Comments < ActiveRecord::Base 
  belongs_to :article 
end

为什么不能用以下内容订购评论:

@article.comments(:order=>"created_at DESC")

如果您需要经常引用命名范围,甚至人们都会这样做:

@article.comments.sort { |x,y| x.created_at <=> y.created_at }

但有些东西告诉我它应该更简单。 我错过了什么?

trans by 2019-08-18T11:24:02Z

ruby on rails - ActiveRecord.find(array_of_ids),保留ord

当您在Rails中执行:order时,结果数组的顺序不依赖于array_of_ids的顺序。

有没有办法找到并保存订单?

ATM我根据ID的顺序手动对记录进行排序,但这有点蹩脚。

UPD:如果可以使用:order param和某种SQL子句指定订单,那么如何?

trans by 2019-08-18T07:25:25Z

使用rails content_tag帮助程序使用html5数据属性的最佳方法?

当然,问题在于红宝石符号不喜欢连字符。 所以这样的事情显然不会起作用:

content_tag(:div, "Some Text", :id => "foo", :data-data_attr => some_variable)

一种选择是使用字符串而不是符号:

content_tag(:div, "Some Text", :id => "foo", 'data-data_attr' => some_variable)

或者我可以插入:

"<div id='foo' data-data_attr='#{some_variable}'>Some Text</div>".html_safe

我更喜欢后者,但两者看起来都有点粗糙。 谁知道更好的方法?

trans by 2019-08-18T04:57:16Z

ruby - 为rails 3验证自定义消息

Rails引入了验证模型内部属性的新方法。我用的时候

validates :title, :presence => true

它工作,但当我尝试添加自定义消息

validates :title, :presence => true,:message => "Story title is required"

生成错误

Unknown validator: 'message'
trans by 2019-08-14T15:26:28Z

ruby on rails - NameError(未初始化的常量Paperclip :: Storage :: S3 :: AWS):

我试图将图像合并到我的网络应用程序中,并在删除了一些功能后继续遇到此错误。 它归结为我的创造&#39; 应用程序控制器,我不完全确定我应该从哪里开始。

2015-02-06T20:30:12.292187+00:00 app[web.1]:    (1.9ms)  ROLLBACK
2015-02-06T20:30:12.296299+00:00 app[web.1]: NameError (uninitialized constant Paperclip::Storage::S3::AWS):
2015-02-06T20:30:12.296301+00:00 app[web.1]:   app/controllers/articles_controller.rb:24:in `create'
2015-02-06T20:45:14.691084+00:00 app[web.1]: [paperclip] saving /articles/images/000/000/013/original/git.jpeg
2015-02-06T20:45:14.698744+00:00 app[web.1]: Completed 500 Internal Server Error in 584ms
2015-02-06T20:45:14.700871+00:00 heroku[router]: at=info method=POST path="/articles" host=preston.herokuapp.com request_id=d9d02257-3616-4686-bce5-3d912cd528c2 fwd="76.22.102.38" dyno=web.1 connect=1ms service=698ms status=500 bytes=1754

Articles_controller.rb

class ArticlesController < ApplicationController
http_basic_authenticate_with name: "name", password: "password", except: [:index, :show]

    def index
        @articles = Article.all.order("created_at DESC")
    end

    def show
        @article = Article.find(params[:id])
    end

    def new
        @article = Article.new
    end 

    def edit
        @article = Article.find(params[:id])

    end

    def create
        @article = Article.new(article_params)

        if @article.save
          redirect_to @article
        else
            render 'new'
        end  
    end

    def update
        @article = Article.find(params[:id])

        if @article.update(article_params)
            redirect_to @article
        else
            render 'edit'
        end
    end

    def destroy
        @article = Article.find(params[:id])
        @article.destroy

        redirect_to articles_path
    end

    private

    def article_params
        params.require(:article).permit(:title, :text, :image)
    end
end

的Gemfile

source 'https://rubygems.org'
ruby '2.0.0'

gem 'rails', '4.2.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'bootstrap-sass', '~> 3.3.3' 
gem 'autoprefixer-rails'
gem 'paperclip', '~> 4.2.1'
gem 'aws-sdk', '~> 2.0.22'

group :development, :test do
 gem 'byebug'
 gem 'web-console', '~> 2.0'
 gem 'spring'
 gem 'sqlite3'
end

group :production do
    gem 'pg'
    gem 'rails_12factor'
end

group :doc do
    gem 'sdoc', '~> 0.4.0', require: false
end
trans by 2019-08-14T00:51:38Z

ruby on rails - 在模型中使用帮助程序:如何包含帮助程序依赖项?

我正在编写一个处理来自文本区域的用户输入的模型。 按照[http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input,]的建议,我在保存到数据库之前清理模型中的输入 ,使用before_validate回调。

我模型的相关部分如下所示:

include ActionView::Helpers::SanitizeHelper

class Post < ActiveRecord::Base {
  before_validation :clean_input

  ...

  protected

  def clean_input
    self.input = sanitize(self.input, :tags => %w(b i u))
  end
end

不用说,这不起作用。 当我尝试保存新帖子时出现以下错误。

undefined method `white_list_sanitizer' for #<Class:0xdeadbeef>

显然,SanitizeHelper创建了一个HTML :: WhiteListSanitizer实例,但是当我将它混合到我的模型中时,它无法找到HTML :: WhiteListSanitizer。 为什么? 我该怎么做才能解决这个问题?

trans by 2019-08-13T17:17:20Z

当referrer不可用时,正确地执行redirect_to:返回Ruby on Rails

我遇到问题redirect_to :back.是的,它是推荐人。

我经常得到例外

(ActionController :: RedirectBackError)&#34;在此操作的请求中未设置HTTP_REFERER,因此无法成功调用redirect_to:back。 如果这是一个测试,请确保指定request.env [\&#34; HTTP_REFERER \&#34;]。&#34;

我意识到这是推荐人无法使用的结果。 有没有办法,例如,可以在访问的最后一页访问每次访问时设置会话变量,并且,当HTTP_REFERER不可用时,利用此会话变量重定向到?

trans by 2019-08-13T09:55:46Z

不推荐使用“:nothing”选项,将在Rails 5.1中删除

这个代码在rails 5中

class PagesController < ApplicationController
  def action
    render nothing: true
  end
end

导致以下弃用警告

DEPRECATION WARNING: :nothing` option is deprecated and will be removed in Rails 5.1. Use `head` method to respond with empty response body.

我该如何解决?

trans by 2019-08-13T09:18:01Z

Rails:如何根据控制器类名获取模型类名?

class HouseBuyersController < ...
  def my_method
    # How could I get here the relevant model name, i.e. "HouseBuyer" ?
  end
end
trans by 2019-08-13T05:26:06Z

activerecord - 如何在Rails中获取属性的原始值

有没有办法获得ActiveRecord属性的原始值(=从数据库加载的值)?

在观察者中我想要这样的东西

before_save object
  do_something_with object.original_name
end

任务是在更新时从哈希表中删除对象(事实上,将其移动到表中的另一个键)。

trans by 2019-08-12T09:07:50Z

ruby on rails - 如何实现has_many:通过与Mongoid和mongodb的关系?

使用Rails指南中的这个修改示例,如何模拟关系&#34; has_many:通过&#34; 使用mongoid的关联?

挑战是mongoid不支持has_many:通过ActiveRecord。

# doctor checking out patient
class Physician < ActiveRecord::Base
  has_many :appointments
  has_many :patients, :through => :appointments
  has_many :meeting_notes, :through => :appointments
end

# notes taken during the appointment
class MeetingNote < ActiveRecord::Base
  has_many :appointments
  has_many :patients, :through => :appointments
  has_many :physicians, :through => :appointments
end

# the patient
class Patient < ActiveRecord::Base
  has_many :appointments
  has_many :physicians, :through => :appointments
  has_many :meeting_notes, :through => :appointments
end

# the appointment
class Appointment < ActiveRecord::Base
  belongs_to :physician
  belongs_to :patient
  belongs_to :meeting_note
  # has timestamp attribute
end
trans by 2019-08-12T08:48:56Z

json - 如何在Rails中覆盖to_json?


更新:

这个问题没有得到适当的探索。 真正的问题在于ArgumentError: wrong number of arguments (1 for 0)

原始问题中的第一个代码粘贴将产生预期结果。 但是,仍然有一个警告。 看这个例子:

ArgumentError: wrong number of arguments (1 for 0)

是不一样的

ArgumentError: wrong number of arguments (1 for 0)

也就是说,ArgumentError: wrong number of arguments (1 for 0)不会自动调用与User对象关联的Model#to_json方法。 实际上,如果:jsonUser型号上被覆盖,则render :json => @user将生成下面描述的ArgumentError

摘要

# works if User#to_json is not overridden
render :json => current_user

# If User#to_json is overridden, User requires explicit call
render :json => current_user.to_json

这一切对我来说都很愚蠢。 这似乎告诉我,当指定类型:json时,ArgumentError: wrong number of arguments (1 for 0)实际上并未调用Model#to_json。 有人能解释一下这里真正发生了什么吗?

任何可以帮助我的genii都可以回答我的另一个问题:如何通过在Rails中组合@ foo.to_json(options)和@ bars.to_json(options)来构建JSON响应


原始问题:

我在SO上看过其他一些例子,但我没有做我想要的事情。

我正在尝试:

class User < ActiveRecord::Base

  # this actually works! (see update summary above)
  def to_json
    super(:only => :username, :methods => [:foo, :bar])
  end

end

我来的是ArgumentError: wrong number of arguments (1 for 0)

/usr/lib/ruby/gems/1.9.1/gems/activesupport-2.3.5/lib/active_support/json/encoders/object.rb:4:in `to_json

有任何想法吗?

trans by 2019-08-11T20:29:25Z

ruby on rails - Mongodb:使用前要知道什么?

我正在使用Ruby on Rails开始一个业余爱好(非收入)项目。 我使用Postgresql在Rails中做了大量的开发,我可以很好地模仿规范化的模式。 然而,Mongrodb看起来有光泽和新颖。 尝试新的东西比业余爱好项目更好吗?

回想一下您何时开始使用Mongodb。 你后来学到了什么技巧让你说,&#34;如果我开始的时候才知道这些技巧!&#34; 如果只有你知道的话,你发现你从一开始就使用了哪些插件? 你想要什么参考书签?

trans by 2019-08-10T21:57:38Z

sql - ActiveRecord:列出缺陷表中的列

我知道您可以要求ActiveRecord使用以下命令在控制台中列出表:

ActiveRecord::Base.connection.tables

是否有一个命令可以列出给定表中的列?

trans by 2019-08-10T20:16:31Z

ruby on rails - RSpec控制器测试 - 空白response.body

使用RSpec测试我的控制器时遇到问题 - response.body调用总是返回一个空字符串。 在浏览器中,一切都正确呈现,黄瓜特征测试似乎正确,但RSpec每次都失败。

对响应对象的其他期望,如response.should render_template('index')传递没有任何问题。

有没有人遇到过这个问题? 也许响应html可以通过其他方式获得?

至于版本,Rails 2.1.0,RSpec 1.2.7。

trans by 2019-08-10T14:18:56Z

ruby on rails - 如何在Devis中验证用户的密码

我在使用rails中的devise gem时遇到了匹配用户密码的问题。 存储在我的数据库上的用户密码是encrypted_password,我试图通过密码查找用户,但我不知道如何匹配我的数据库中的表单和encrypted_password的密码。

User.find_by_email_and_password(params[:user][:email], params[:user][:password])
trans by 2019-08-10T07:14:31Z

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