在我的应用程序; 当我提交表单时,我收到此错误:
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) 我必须使用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) 我收到了来自该行的无路由匹配错误<%= 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时,我的路线发生了变化.
我正在设置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) 我将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) 我正在尝试在我的画廊工作,我需要安装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) 我遇到了一个快速的问题.我正在为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) 我正在建立一个收件箱邮件系统.当大多数消息被标记为"已读"时,我的所有消息都显示为未读.我将它设置在我的消息模型中以检查是否未读或已阅读.所以我不明白为什么代码不适用于未读/读.
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) 我一直试图集体思考如何计算用户响应率(对收到的消息的响应百分比)和时间(用户响应消息的速度).此信息将显示在用户个人资料中.我想不出一个适用于此的公式,并且没有看到任何其他关于它的帖子.
例如,用户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) 我已经安装了思考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) 我得到一个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) 我一直在<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) 我收到以下与以下相关的错误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-on-rails ×12
mailboxer ×2
rmagick ×2
activeadmin ×1
activemodel ×1
css ×1
factory-bot ×1
html ×1
javascript ×1
rails-models ×1
ruby ×1