小编pwz*_*000的帖子

LoadError无法自动加载常量消息

在我的应用程序; 当我提交表单时,我收到此错误:

LoadError at /questions
Unable to autoload constant Message, expected /app/models/message.rb to define it
Run Code Online (Sandbox Code Playgroud)

它指向控制器中的create动作Questions:

@message = current_user.messages.new(:subject => "You have a question from #{@question.sender_id}"`
Run Code Online (Sandbox Code Playgroud)

消息模型:

class Mailboxer::Message < ActiveRecord::Base
  attr_accessible :notification_id, :receiver_id, :conversation_id
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rails-models activemodel mailboxer

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

rmagick阻止rails服务器工作

我必须使用rmagick,它不允许我启动rails服务器.我已经在这里阅读了谷歌,到目前为止,这些解决方案都没有提供帮助.图书馆出了问题,我不知道如何修复它.

如果有人有修复这个确切问题的建议,将非常感激.

/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/rmagick.rb:11:in `require': dlopen(/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libltdl.7.dylib (LoadError)
  Referenced from: /usr/local/lib/libMagickCore-Q16.7.dylib
  Reason: image not found - /Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/RMagick2.bundle
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/rmagick.rb:11:in `<top (required)>'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0@global/gems/bundler-1.3.0/lib/bundler/runtime.rb:72:in `require'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0@global/gems/bundler-1.3.0/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0@global/gems/bundler-1.3.0/lib/bundler/runtime.rb:70:in `each'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0@global/gems/bundler-1.3.0/lib/bundler/runtime.rb:70:in `block in require'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0@global/gems/bundler-1.3.0/lib/bundler/runtime.rb:59:in `each'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0@global/gems/bundler-1.3.0/lib/bundler/runtime.rb:59:in `require'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0@global/gems/bundler-1.3.0/lib/bundler.rb:132:in `require'
    from /Users/lexi87/dating/config/application.rb:7:in `<top (required)>'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.12/lib/rails/commands.rb:53:in `require'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.12/lib/rails/commands.rb:53:in `block in <top (required)>'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.12/lib/rails/commands.rb:50:in `tap'
    from /Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.12/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rmagick

7
推荐指数
2
解决办法
3612
查看次数

ActionController :: UrlGenerationError:没有路由匹配

我收到了来自该行的无路由匹配错误<%= link_to "Ask User Out", askout_user_message_path(@user), :class => "button" %>.

这曾经在我添加宝石之前工作,但现在它停止了工作.我尝试在收集下移动,但我没有运气,因为那是以前的地方.

路线:

 resources :users do |user|

 resources :messages do
   member do
     post :new
     get 'askout', action: 'askout'
   end
 end
  collection do
     get :trashbin
     post :empty_trash

end
 end

 resources :conversations do
   member do
     post :reply
     post :trash
     post :untrash
   end
 end
Run Code Online (Sandbox Code Playgroud)

旧路线:

 resources :users do |user|

    resources :messages do
      collection do
        post 'delete_multiple'
        get 'askout', action: 'askout'
        get 'reply', action: 'reply'
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

当我添加邮箱gem时,我的路线发生了变化.

ruby-on-rails

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

Viewpoint参数结束标记问题

我正在设置javascript以在大于767的屏幕上显示728x90的广告网络横幅代码.如果屏幕宽度较小,它将仅显示300x250横幅代码.当我添加以下代码时,它在网络和移动设备上都没有显示,只是一个空白区域.如果有帮助,我在wordpress内部工作.

    <div class="container">?



<script>
window.onresize = function(){

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');

if ( $(window).width() <= 767) {

e9 = new Object();
e9.size = "320x50";
script.src = "http://tags.expo9.exponential.com/tags/ProwrestlingcomMobile/320x50/tags.js";
head.appendChild(script);

}else {

e9 = new Object();
e9.size = "728x90";
script.src = "http://tags.expo9.exponential.com/tags/ProWrestlingcom/ROS/tags.js";
head.appendChild(script);

}
}
</script>
</div>
Run Code Online (Sandbox Code Playgroud)

原始728x90广告代码:

<script type="text/javascript"><!--
               e9 = new Object();
    e9.size = "728x90,970x250";
//--></script>
<script type="text/javascript" src="http://tags.expo9.exponential.com/tags/ProWrestlingcom/ROS/tags.js"></script>
Run Code Online (Sandbox Code Playgroud)

原始300x250广告代码:

<script type="text/javascript"><!--

               e9 = new Object();

    e9.size = "320x50";

//--></script>

<script type="text/javascript" src="http://tags.expo9.exponential.com/tags/ProwrestlingcomMobile/320x50/tags.js"></script>
Run Code Online (Sandbox Code Playgroud)

html javascript

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

NoMethodError未定义的方法`link_to_function'

我将ActiveAdmin添加到我的应用程序中,更新了一些宝石,现在我undefined method `link_to_function'在查看用户显示页面时得到了一个.我有will_paginate宝石,我添加了初始化程序,所以没有冲突.

kaminari.rb:

Kaminari.configure do |config|
  config.page_method_name = :per_page_kaminari
end
Run Code Online (Sandbox Code Playgroud)

该错误指向/app/helpers/will_paginate_helper.rb上的行:

  @template.link_to_function(text.to_s.html_safe, ajax_call, attributes)
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails will-paginate activeadmin

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

Rmagick未能在OSX Lion上构建gem native

我正在尝试在我的画廊工作,我需要安装rmagick.但是由于无法构建gem原生扩展,我收到错误,因此无法执行此操作.我看到其他帖子,但他们的错误与地雷不同.

我不知道如何让它发挥作用.如果有人知道一个很有帮助的修复程序!

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/lexi87/.rvm/rubies/ruby-1.9.3-p385/bin/ruby extconf.rb 
checking for Ruby version >= 1.8.5... yes
checking for /usr/local/bin/gcc-4.2... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... yes
checking for snprintf() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for AcquireImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for AffinityImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for AffinityImages() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rmagick

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

user_spec上的未定义方法"Factory"

我遇到了一个快速的问题.我正在为user_spec页面获得一个"未定义的方法`Factory".我相信我的语法不正确"let(:user){Factory(:user)}".但是我无法想出一个有效的.

Failure/Error: let(:user) { Factory(:user) }
     NoMethodError:
       undefined method `Factory' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fc7ac31e6a8>
Run Code Online (Sandbox Code Playgroud)

如果有人可以查看我的代码并帮助我,我会很感激,因为我几乎已经完成了密码重置测试.

user_spec.rb:

require 'spec_helper'

describe User do
  describe "#send_password_reset" do
    let(:user) { Factory(:user) }

    it "generates a unique password_reset_token each time" do
      user.send_password_reset
      last_token = user.password_reset_token
      user.send_password_reset
      user.password_reset_token.should_not eq(last_token)
    end

    it "saves the time the password reset was sent" do
      user.send_password_reset
      user.reload.password_reset_sent_at.should be_present
    end

    it "delivers email to user" do
      user.send_password_reset
      last_email.to.should include (user.email)
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails factory-bot

3
推荐指数
2
解决办法
2656
查看次数

如何更改收件箱邮件标记从未读到读取

我正在建立一个收件箱邮件系统.当大多数消息被标记为"已读"时,我的所有消息都显示为未读.我将它设置在我的消息模型中以检查是否未读或已阅读.所以我不明白为什么代码不适用于未读/读.

message.rb:

belongs_to :sender,
    :class_name => 'User',
    :foreign_key => 'sender_id'
belongs_to :recepient,
    :class_name => 'User',
    :foreign_key => 'recepient_id'

    def mark_message_deleted(id,user_id)
        self.sender_deleted = true if self.sender_id == user_id and self.id=id
        self.recepient_deleted = true if self.recepient_id == user_id and self.id=id
        self.sender_deleted && self.recepient_deleted ? self.destroy : save!
    end

    # Read message and if it is read by recepient then mark it is read
    def self.readingmessage(id, reader)
        message = find(id, :conditions => ["sender_id = ? OR recepient_id = ?", reader, reader])
        if message.read_at.nil? …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

如何计算用户的响应率和时间

我一直试图集体思考如何计算用户响应率(对收到的消息的响应百分比)和时间(用户响应消息的速度).此信息将显示在用户个人资料中.我想不出一个适用于此的公式,并且没有看到任何其他关于它的帖子.

例如,用户A的响应率为85%,响应时间为3天.攻击它的正确方法是什么?

消息模型:

    attr_accessible :subject, :body, :sender_id, :recipient_id, :read_at,:sender_deleted,:recipient_deleted
    validates_presence_of :subject, :message => "Please enter message title"
    has_many :notifications, as: :event
  scope :unread, -> {where('read_at IS NULL')}

    belongs_to :sender,
    :class_name => 'User',
    :foreign_key => 'sender_id'
    belongs_to :recipient,
    :class_name => 'User',
    :foreign_key => 'recipient_id'


    # Based on if a message has been read by it's recipient returns true or false.
    def read?
        self.read_at.nil? ? false : true
    end


    def self.received_by(user)
       where(:recipient_id => user.id)
     end


     def self.not_recipient_deleted
       where("recipient_deleted = ?", false)
     end …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

思考sphinx无法配置开发配置

我已经安装了思考sphinx并且在运行rake ts:index之后,它无法配置开发文件.文件已创建,但为空.

Generating configuration to /Users/lexi87/dating/config/development.sphinx.conf
rake aborted!
undefined method `type' for nil:NilClass
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/active_record/attribute/type.rb:64:in `type_from_database'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/active_record/attribute/type.rb:17:in `type'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/active_record/attribute.rb:4:in `type'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/active_record/attribute/sphinx_presenter.rb:30:in `sphinx_type'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/active_record/attribute/sphinx_presenter.rb:18:in `collection_type'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/active_record/sql_source.rb:107:in `block in prepare_for_render'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/active_record/sql_source.rb:104:in `each'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/active_record/sql_source.rb:104:in `prepare_for_render'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/active_record/sql_source.rb:61:in `render'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/riddle-1.5.6/lib/riddle/configuration/index.rb:29:in `block in render'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/riddle-1.5.6/lib/riddle/configuration/index.rb:29:in `collect'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/riddle-1.5.6/lib/riddle/configuration/index.rb:29:in `render'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/core/index.rb:48:in `render'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/riddle-1.5.6/lib/riddle/configuration.rb:39:in `block in render'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/riddle-1.5.6/lib/riddle/configuration.rb:39:in `collect'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/riddle-1.5.6/lib/riddle/configuration.rb:39:in `render'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/configuration.rb:81:in `render'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/configuration.rb:87:in `block in render_to_file'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/configuration.rb:87:in `render_to_file'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/rake_interface.rb:4:in `configure'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/rake_interface.rb:31:in `index'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/gems/thinking-sphinx-3.0.0/lib/thinking_sphinx/tasks.rb:9:in `block (2 levels) in <top (required)>'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `eval'
/Users/lexi87/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => ts:index
Run Code Online (Sandbox Code Playgroud)

我不确定这是否与indices文件夹下的user_index.rb有关.

ThinkingSphinx::Index.define …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails thinking-sphinx

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

nil的未定义方法`questions':NilClass

我得到一个NoMethodError undefined method `questions' for nil:NilClass.它指向线上的创建动作@question = @conversation.questions.build(params[:question])

问题控制器:

  respond_to :js, :html

   def index
      @questions = Question.all
      respond_with(@questions)
  end

  def show
    @question = Question.find(params[:id])
    @questions = Question.order("created_at DESC")
    respond_with(@questions)
  end

  def new
    @question = Question.new
    respond_with(@question)
  end

  def create
      @question = @conversation.questions.build(params[:question])
      if @question.save
        @message = current_user.messages.new(:subject => "You have a question from #{@question.sender_id}",
                               :notification_id => @question.sender_id,
                               :receiver_id => @question.recipient_id,
                               :body => @question.question)

        @question.message = @message
        @question.save
        redirect_to questions_path, notice: 'Your question was saved successfully. Thanks!'
      else
        render …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mailboxer

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

用不同类别的图像替换列表项目符号

我一直在<li>为我的网站使用列表项目符号.我有一些图标,想知道如何使用图像代替内容特定标签/类别的项目符号?我有一个部分,用户可以在几个不同的类别下发布内容 - 吃/喝,玩,其他,听/看,探索.我希望在显示内容时为每个特定类别显示一个图标.

有人可以给我一个这样的例子,以便我可以为我的网站实现它吗?谢谢!

视图:

<% for letsgo in @letsgos %>

  <li>
    <%= letsgo_icon(letsgo) %>
    <b>Let's Go...<span class="content"><%= letsgo.content %></span></b>
      <% if current_user?(letsgo.user) %>
        <%= link_to "delete", letsgo, method: :delete, data: { confirm: "You sure?" }%> 
      <% end %> 
      <% unless current_user?(letsgo.user) %> 
        <%= link_to "I'm Interested", interested_letsgo_path(letsgo), method: :message %> | 
        <%= link_to "repost", repost_letsgo_path(letsgo), method: :post %>
      <% end %>

  <% end %>

</li>
Run Code Online (Sandbox Code Playgroud)

Letsgohelper.rb:

module LetsgoHelper
  def letsgo_icon_class(letsgo)
    case letsgo.tag
    when "Eat/Drink"
      "fork27.png"
    when "Play" …
Run Code Online (Sandbox Code Playgroud)

css ruby-on-rails

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

意外的tIDENTIFIER与期待keyword_end

我收到以下与以下相关的错误announcement.rb:

语法错误,意外的tIDENTIFIER,期待keyword_end(SyntaxError)放置"致命错误:"+ e.message

我已经查看了下面的代码,看起来是正确的.有人似乎是错误吗?

Twit::Part.new :announcement do
  every 30, :minutes do
    ids = @config[:ids].shift(15)  # take 25 ids at a time
    next if ids.empty?  # do not do anything if there are no ids anymore

    ids.each do |id|
      begin
        # look up the user name behind the ID, keep in mind that the
        # endpoint for that might be rate limited
        username = bot.user(id, skip_status: true)&.screen_name
        if username.nil?
          @config[:ids] << id
          next
        end

        # finally, tweet the message: …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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