小编Tia*_*ago的帖子

Rails引擎 - Gems依赖项,如何将它们加载到应用程序中?

我在这里做引擎,它可以独立工作.

当我将它转换为gem并将其加载到另一个应用程序中时,我得到了许多未定义的错误,来自我的引擎gem的依赖.

这是gemspec:

s.add_dependency('paperclip')
s.add_dependency('jquery-rails')
s.add_dependency('rails3-jquery-autocomplete')
s.add_dependency('remotipart')
s.add_dependency('cancan')
Run Code Online (Sandbox Code Playgroud)

在应用程序中,当我进行bundle安装时,它列出了所有这些依赖项,但是当我运行应用程序时,我收到了很多未定义的方法错误(例如来自paperclip的has_attachment).似乎应用程序不加载引擎依赖项.这是默认行为吗?我可以改变吗?引擎内部的插件也发生了同样的事情.

如果我手动插入那些宝石,在应用程序Gemfile中,所有工作......

gem dependencies rails-engines ruby-on-rails-3

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

Ruby 1.9 - 无效的多字节字符(US-ASCII)

我试图让我的rails应用程序(2.3.5)在Ruby 1.9上运行,我有这个函数在字符串上进行一些转换:

def replace_special_chars(downcase = true)
if downcase 
  string = self.downcase
else
  string = self
end
string.gsub! /á|ã|à|ä|â/, 'a'
string.gsub! /é|è|ë|ê/, 'e'
string.gsub! /í|ì|ï|î/, 'i'
string.gsub! /ó|õ|ò|ô|ö/, 'o'
string.gsub! /ú|ù|ü|û/, 'u'
string.gsub! /ç/, 'c'
string.gsub! /&/, 'e'
string.gsub! /\s/, '-'
string.gsub! /[^a-zA-Z_0-9-]/, ''
string.gsub! /-(-)+/, '-'
string
end
Run Code Online (Sandbox Code Playgroud)

但是当我尝试启动服务器时,我收到了这个错误:

<internal:lib/rubygems/custom_require>:29:in `require':   
/Users/.../lib/nzn_string.rb:11: invalid multibyte char (US-ASCII) (SyntaxError)
/Users/.../lib/nzn_string.rb:11: invalid multibyte char (US-ASCII) 
/Users/.../lib/nzn_string.rb:11: syntax error, unexpected $end, expecting keyword_end
string.gsub! /á|ã|à|ä|â/, 'a'
                ^
Run Code Online (Sandbox Code Playgroud)

来自:29:在`require'

在ruby 1.9上执行此操作的正确方法是什么?我不知道我在这里失踪了什么

ruby ascii ruby-on-rails-3

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

如何从Rails I18n中的yml文件中检索所有翻译

我猜测rails将所有解析后的翻译yml文件存储在一种数组/哈希中.有没有办法访问这个?

例如,如果我有一个文件:

en:
  test_string: "testing this"
  warning: "This is just an example
Run Code Online (Sandbox Code Playgroud)

我可以做一些像I18n.translations_store [:en] [:test_string]的事吗?我可以使用YAML :: load解析yml文件,但在我的情况下,我已经将子文件夹中的yml文件拆分为组织,我很确定rails已经解析了它们.

yaml ruby-on-rails internationalization rails-i18n

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

rails has_many:through - 是否可以在直通表中有条件?

有两个模型,它们使用has_many:尽管关系链接.

有条件参数,它将在另一个模型表中查找条件,但是在某种程度上是否在连接表中创建条件?

例如,我有:

User
Game
GameUser
Run Code Online (Sandbox Code Playgroud)

一个用户可能有很多游戏,因为游戏可能有很多用户.但我想在联合表中存储额外的信息,例如,如果用户喜欢或不喜欢该游戏.

我希望在我的用户模型中有一个关系过滤器,如下所示:

has_many :games, :through => 'game_users'   
has_many :liked_games, :through => 'game_users', :conditions_join => { :like => true }
Run Code Online (Sandbox Code Playgroud)

有没有一种很好的方法来实现这个功能?

ruby-on-rails has-many-through ruby-on-rails-3

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

Rails 3 - 设计:如何在编辑注册时跳过'current_password'?

我用我的设计模型实现了omniauth,所以我可以使用其他服务进行身份验证.我的模型不再需要密码,因为用户可以使用twitter,facebook进行身份验证...

一切正常,但是,当用户尝试编辑其注册时,设计会跳过该过程,因为用户没有通知'current_password'(现在在某些情况下不存在).

我创建了一个注册控制器来覆盖一个设备:

class RegistrationsController < Devise::RegistrationsController
  def update
    super
  end
end
Run Code Online (Sandbox Code Playgroud)

但是我没有找到任何关于如何跳过密码验证的文档,我怎样才能在更新操作中执行此操作?

ruby-on-rails devise omniauth ruby-on-rails-3

12
推荐指数
2
解决办法
6332
查看次数

will_paginate - >如何更改默认网址?

will_paginate plugin aways为附加page参数的当前url生成分页.

有没有办法改变这个?我需要它分页到另一个控制器/动作加上一些参数.

ruby-on-rails will-paginate

10
推荐指数
1
解决办法
8412
查看次数

我的Gitorious没有创建存储库!

我刚刚在这里安装了gitorious,但是我在创建新的存储库时遇到了问题.我将它配置为在/ home/git /目录中创建它们,它已经是777.当我创建一个新的存储库时,它会转到"正在创建此存储库,它很快就会准备就绪......"并继续显示永远.

我从脚本中启动了git-daemon,日志:

2009-06-09 15:19:27 [31837] Received TERM, exiting..
2009-06-09 15:19:40 [32467] Listening on 0.0.0.0:9418...
Run Code Online (Sandbox Code Playgroud)

知道会发生什么吗?或者我可以在哪里寻找更多信息

git gitorious

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

我的rails帮助器将'<'渲染为'&lt;'!如何使其正确渲染?

我在这里开发一个简单的插件,而且这个目的正在发挥作用.除了我的助手.它是一个非常简单的帮助器,它只需要回显一个<span></span>以后的javascript解析.

问题是,它没有使html正确,它用html等效代码替换特殊字符.

我的插件初始化程序:

ActionView::Helpers.send :include, Test
Run Code Online (Sandbox Code Playgroud)

我的插件助手:

module Test    
  def only_for_testing
    render(:text => "<span></span>")
  end
end
Run Code Online (Sandbox Code Playgroud)

当我在视图中调用only_for_testing帮助器时,而不是渲染"<span></span>"它呈现" &lt;span&gt;&lt;/span&gt;"

我尝试删除渲染,只返回字符串,效果相同.我真的不想为此创建一个部分,因为它是一个非常非常简单的html,它不是用于布局,它只是用于解析.

知道我在这里做错了什么吗?

ruby-on-rails helpers ruby-on-rails-plugins ruby-on-rails-3

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

Rails模型中的继承模型

我正在为我的应用做一个报告系统.我创建了一个模型ReportKind,但是由于我可以报告很多东西,我想制作不同类型的报告类型.由于他们共享很多行为,我正在尝试使用继承.

所以我有主要模型:

model ReportKind << ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)

并创建了例如:

model UserReportKind << ReportKind
end
Run Code Online (Sandbox Code Playgroud)

在我的表report_kinds中,我是类型列,直到这里它的全部工作.我的问题在于表单/控制器.

当我这样做时ReportKind.new,我的表单是使用'*report_kind*'前缀构建的.如果获得UserReportKind,即使通过a ReportKind.find,表单也会构建'user_report_kind'前缀.

这会使控制器中的所有内容变得混乱,因为有时候我会有params [:report_kind],有时候是params [:user_report_kind],等等我所做的每一个其他继承.

无论如何强迫它使用'report_kind'前缀?此外,我不得不强制控制器中的属性'type',因为它没有直接从表单中获取值,是否有一个很好的方法来做到这一点?

路由是另一个问题,因为它试图基于继承的模型名称构建路由.我通过在指向同一控制器的路由中添加其他模型来克服这个问题.

forms inheritance activerecord ruby-on-rails ruby-on-rails-3

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

Haml和Handlebars,如何逃避'<'''之间的文字?

我需要我的haml在<>中生成一个带有"{{}}"的标签.它不是属性,我希望它在标签内粘贴纯文本.例如:

<a href="..." {{bindAttr class="App.ready:ready"}}>...</a>
Run Code Online (Sandbox Code Playgroud)

我在文档中搜索但我找不到如何...这可能与haml语法?

haml handlebars.js ember.js

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