小编cha*_*nya的帖子

RMagick抱怨它配置了不同版本的ImageMagick

运行本地script/serverRails项目时出现以下错误:

RMagick的安装使用ImageMagick 6.6.1进行配置,但正在使用ImageMagick 6.4.5.(RuntimeError)

运行identify --version显示以下内容:

版本:ImageMagick 6.6.1-10 2010-05-21 Q8 http://www.imagemagick.org

所以,我的问题是我应该如何以及在哪里进行更改才能正常工作; 我已经重新安装了ImageMagick但是没有用.

rmagick imagemagick

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

如何在单轨查询中映射两列

如何在单轨查询中映射两列.

例如.

 @profiles = Profile.all.map(&:user_firstname)
Run Code Online (Sandbox Code Playgroud)

运行此查询后,我将能够获取users_firstname表格表格(这是正确的).

但是我如何在上面的查询中添加users_firstname和users_lastname.

activerecord ruby-on-rails-3

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

rails query join,order by,group by issue

在项目中有三个模型

  • 会话
  • conversation_message
  • 信息

Conversation.rb

class Conversation < ActiveRecord::Base
    #subject
    has_many :conversation_messages, :dependent => :destroy
    has_many :messages, :through => :conversation_messages, :dependent => :destroy, :order => "created_at DESC"
end
Run Code Online (Sandbox Code Playgroud)

ConversationMessage.rb

class ConversationMessage < ActiveRecord::Base
  #conversation_id, message_id
  belongs_to :conversation
  belongs_to :message, :dependent => :destroy
end
Run Code Online (Sandbox Code Playgroud)

Message.rb

#sender_id, receiver_id, message

has_one :conversation_message, :dependent => :destroy
has_one :real_conversation, :through => :conversation_message, :source => "conversation"
Run Code Online (Sandbox Code Playgroud)

所以我想检索current_user所有的对话,并希望按照收到或发送的最后一条消息的顺序显示它们.还希望显示其所有消息的单个对话,并且必须通过其中包含的消息对对话进行排序.使用rails 3.0

我尝试了以下查询,但在查询下方给出了一个错误

@user_conversations = Conversation
.joins(:messages)
.where(["messages.receiver_id = ?  or messages.sender_id = ?", current_user.id, current_user.id ])
.group("conversations.id").order("messages.created_at …
Run Code Online (Sandbox Code Playgroud)

join group-by ruby-on-rails

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

如何在rails 3中将数据传递给IN查询

我正在使用rails 3和sqlite db.使用IN查询.当前将项的字符串变量传递给IN查询.但是在执行该查询时需要''因此它不起作用.如何克服这种情况?

这是我的代码

items = ""
items << "#{@invitation_user1.id}" << "," << "#{@invitation_user2.id}" << "," << "#{@user1.id}" << "," << "#{@user2.id}" << "," << "#{@user2.id}" << "," << "#{@profile1.id}" << "," << "#{@profile2.id}"
@activities = Version.where("item_id IN (?)","#{items}") 
Run Code Online (Sandbox Code Playgroud)

尝试过items.to_i,items.to_s但是没有用.在日志我可以看到这一点.

SELECT "versions".* FROM "versions" WHERE (item_id IN ('19,20,4,1,1,4,1'))
Run Code Online (Sandbox Code Playgroud)

但我需要的只是

 SELECT "versions".* FROM "versions" WHERE (item_id IN (19,20,4,1,1,4,1))
Run Code Online (Sandbox Code Playgroud)

database sqlite activerecord ruby-on-rails

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

如何在时间戳中转换字符串(时间或日期时间)并保存在mongodb中

我接受时间作为用户的字符串,如"上午10:00",或者如果需要,我可以接受来自用户的"2015-08-27 10:00 am".

需要使用rails函数Date("2015-08-27 10:00 am")来转换字符串的日期然后需要保存在db?

我正在使用

  • 红宝石2.2.2
  • 铁轨4.1.4
  • mongoid 4.0.0

ruby ruby-on-rails mongodb

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