当我输入irb> require 'rubygems'它时返回false.我的rails应用程序中有很多宝石显然正在工作 - rake,activerecord等.这里可能出现什么问题?谢谢.
Ruby 1.8.6.Rails 1.2.6
我必须将类似Wufoo的WYSIWYG表单构建器功能添加到Rails webapp.
有谁知道有用的好资源(宝石/引擎/插件/示例代码)?
根据http://edgeapi.rubyonrails.org/classes/Rails/Railtie.html,如果我写一个Rails 3插件并且我想挂钩初始化过程,我写
class MyRailtie < Rails::Railtie
initializer "my_railtie.configure_rails_initialization" do
# some initialization behavior
end
end
Run Code Online (Sandbox Code Playgroud)
但是,这个初始化程序似乎在您运行Rails rake任务时执行,而不仅仅是在您运行rails s或类似时执行.我的问题是,如何防止在Rails任务期间运行此块中的代码,而不是完整的Rails服务器启动?这似乎是Rails 3插件的常见问题.
我在这里开发一个简单的插件,而且这个目的正在发挥作用.除了我的助手.它是一个非常简单的帮助器,它只需要回显一个<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,它不是用于布局,它只是用于解析.
知道我在这里做错了什么吗?
我正在使用OmniAuth + Devise允许用户使用附加到普通用户帐户的Facebook/Twitter/Gowalla/etc进行注册.现在,当用户使用其中任何一个或他们的帐户登录时,他们所有的社交网络都附加在身份验证表中.
我需要能够从任何这些提供商中提取内容,例如他们的推文或他们的Facebook Places检查等.我明白我需要使用不同的gem,插件,无论做什么,但得到我需要的配置使用这些宝石(并提出请求)让我很困惑.
我需要能够访问omniauth.rb中的提供程序配置项,因此我有API密钥和密钥等,然后我需要能够从oAuth的东西中获取令牌来发出请求.
像https://github.com/jrallison/authlogic_oauth这样的其他宝石似乎存储了oauth_token,oauth_secret和oauth_token,但是OmniAuth没有.
你可能会告诉我,我对Ruby,Rails和oAuth都是新手,所以这是一个非常具有挑战性的应用程序.非常需要帮助.
ruby-on-rails ruby-on-rails-plugins omniauth ruby-on-rails-3
我想在Rails中使用插件系统创建一个应用程序.潜在用户应该能够上传(或更好地从存储库安装)一个插件并安装它,使我的应用程序能够做更多的事情.这应该在没有FTP/SSH /任何低级访问服务器的情况下完成.
那么有没有关于如何在Rails 3中完成它的好的宝石或教程?
Facebook刚刚重新启动了评论,具有自动语法修复功能.
语法过滤器有什么作用?
- 添加标点符号(例如句子末尾的句点)
- 修剪额外的空白自动案例单词(例如,将句子的第一个单词大写)
- 扩大俚语(例如,PLZ变为请)
- 在标点符号后添加空格(例如Hi,Cat会变成Hi,Cat)
- 修复常见的语法错误(例如将'不要'转换为'不要')
什么是等效的插件或宝石?
我用过这些设置
WickedPdf::config = {
:layout => 'application.pdf.html', # use 'pdf.html' for a pfd.html.erb file
:wkhtmltopdf => '/bin/wkhtmltopdf', # path to binary
:orientation => 'Portrait', # default , Landscape
:page_size => 'A4',
:dpi => '300',
:print_media_type => true,
:no_background => true,
:margin => {:top => 0, # default 10 (mm)
:bottom => 0,
:left => 0,
:right => 0},
}
Run Code Online (Sandbox Code Playgroud)
并将体型设置为
body {
margin: 0;
padding: 0;
background-color: #FFF;
width: 210mm;
height: 297mm;
}
Run Code Online (Sandbox Code Playgroud)
和一个班级.page
.page {
display: inline-block;
clear: both; …Run Code Online (Sandbox Code Playgroud) 我想知道区别吗?
我可以同时运行它们然后安装,但实际的区别是什么?
我正在做michael hart的教程/截屏,他使用bundle install,这与使用rvm bundle install有什么不同?
我还决定尝试一下"rubymine"ide的试用版,我注意到在终端中运行bundle install然后打开ide它告诉我需要更新一些gem,所以我确定它不会在同一个地方安装bundle地点.
我已经加载了一个rvm项目.
rubygems ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3 railstutorial.org
我在我的Rails应用程序中使用CanCan获取权限,我在其中为一些通用表单功能构建了自己的引擎.我想锁定系统中的权限,以便用户无法自由访问我的引擎控制器的操作.这些控制器大多只使用7个REST动作,所以我想load_and_authorize_resource在每个控制器的顶部使用CanCan .
但是,当我像这样编写代码时:
module MyEngine
class FormController < ApplicationController
load_and_authorize_resource
...
end
end
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
uninitialized constant Form
Run Code Online (Sandbox Code Playgroud)
我的猜测是,自动装弹机中load_and_authorize_resource被绑定到我的MainApp命名空间,并且不承认,我在不同的命名空间调用它,所以确实喜欢打电话Form.find(params[:id]),而不是MyEngine::Form.find(params[:id]).
如果是这种情况,我该如何解决这个问题?这不是一个大问题,因为authorize!仍然可以正常工作,所以我可以单独定义每个动作中的授权,但如果我能够使用该load_and_authorize_resource方法,它会感觉更清洁.