我在这里做引擎,它可以独立工作.
当我将它转换为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中,所有工作......
我试图让我的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上执行此操作的正确方法是什么?我不知道我在这里失踪了什么
我猜测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已经解析了它们.
有两个模型,它们使用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)
有没有一种很好的方法来实现这个功能?
我用我的设计模型实现了omniauth,所以我可以使用其他服务进行身份验证.我的模型不再需要密码,因为用户可以使用twitter,facebook进行身份验证...
一切正常,但是,当用户尝试编辑其注册时,设计会跳过该过程,因为用户没有通知'current_password'(现在在某些情况下不存在).
我创建了一个注册控制器来覆盖一个设备:
class RegistrationsController < Devise::RegistrationsController
def update
super
end
end
Run Code Online (Sandbox Code Playgroud)
但是我没有找到任何关于如何跳过密码验证的文档,我怎样才能在更新操作中执行此操作?
will_paginate plugin aways为附加page参数的当前url生成分页.
有没有办法改变这个?我需要它分页到另一个控制器/动作加上一些参数.
我刚刚在这里安装了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)
知道会发生什么吗?或者我可以在哪里寻找更多信息
我在这里开发一个简单的插件,而且这个目的正在发挥作用.除了我的助手.它是一个非常简单的帮助器,它只需要回显一个<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>"它呈现" <span></span>"
我尝试删除渲染,只返回字符串,效果相同.我真的不想为此创建一个部分,因为它是一个非常非常简单的html,它不是用于布局,它只是用于解析.
知道我在这里做错了什么吗?
我正在为我的应用做一个报告系统.我创建了一个模型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
我需要我的haml在<>中生成一个带有"{{}}"的标签.它不是属性,我希望它在标签内粘贴纯文本.例如:
<a href="..." {{bindAttr class="App.ready:ready"}}>...</a>
Run Code Online (Sandbox Code Playgroud)
我在文档中搜索但我找不到如何...这可能与haml语法?
activerecord ×1
ascii ×1
dependencies ×1
devise ×1
ember.js ×1
forms ×1
gem ×1
git ×1
gitorious ×1
haml ×1
helpers ×1
inheritance ×1
omniauth ×1
rails-i18n ×1
ruby ×1
yaml ×1