我克隆了我的项目.捆绑"捆绑安装",然后运行"rake db:migrate".我收到此错误:(当我运行rails服务器并将我的浏览器打开到localhost:3000时)"迁移正在等待;运行'bin/rake db:migrate RAILS_ENV = development'以解决此问题."
我逐个检查了所有迁移,并且所有迁移都没有错误地执行.执行"rake db:migrate"后也没有显示错误.
这是我执行" rake db:migrate:status " 时看到的内容
我在开发环境.如果您需要任何其他信息,请与我们联系.
我也试过"捆绑exec rake db:migrate",并将"捆绑exec rake db:migrate:reset"改为"burninggramma"建议.
什么导致错误的线索?
(编辑:添加了development.log日志,"未经许可的参数:电子邮件")
Devise工作正常,但我删除了所有使用rails控制台的用户,并试图建立一个新用户.我收到一个错误email can't be blank.当我删除:validatable块时,我收到此错误.
我试图回到提交,但错误存在于所有其他提交.我不确定它是否与数据库有关.
我的项目可以在这里找到(我推了最后一次提交).我不确定问题出在哪里以及我可以为设计复制什么.我在这里放了一些可能显示问题的代码.
我能够通过rails控制台创建用户:
u = User.new(:email => "user@name.com", :username => "test", :password => 'password', :password_confirmation => 'password')
u.save
Run Code Online (Sandbox Code Playgroud)
尝试注册时记录日志:
Processing by Devise::RegistrationsController#create as HTML
Parameters: {"utf8"=>"?", "authenticity_token"=>"WQkgKxF8rIB1wAq8vnz4Y0bCv9Txlyv0eO8IyEmpEAk=", "user"=>{"email"=>"user@example.com", "username"=>"test", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}
Unpermitted parameters: email
Run Code Online (Sandbox Code Playgroud)
User.rb
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable, :omniauthable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :provide, :uid, :name, :email, :password, :password_confirmation, :remember_me, :username
validates_presence_of :username
has_many :posts
def self.from_omniauth(auth)
where(auth.slice(:provider, :uid)).first_or_create do …Run Code Online (Sandbox Code Playgroud) 我通过Paperclip gem 在Rails应用程序上上传了一些图像,我只想让后端的管理员能够查看.结果,我将它们设置为私有.
然后我四处寻找解决方案,了解管理员如何通过特定链接查看文件.这是我发现的.
我继续尝试这个,但我正在努力创建所需的签名.公式在上面的链接中给出,是:
Signature = URL-Encode( Base64( HMAC-SHA1( YourSecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ) ) );
StringToSign = HTTP-VERB + "\n" +
Content-MD5 + "\n" +
Content-Type + "\n" +
Expires + "\n" +
CanonicalizedAmzHeaders +
CanonicalizedResource;
Run Code Online (Sandbox Code Playgroud)
我不知道我需要在Ruby on Rails上使用哪个库/模块/ gem.通过搜索我发现了关于aws-s3宝石.我阅读了他们的wiki并看到了"从浏览器访问私有对象".
所以我安装了它们gem,继续打开我的rails控制台并尝试测试它们.我能够与AWS S3建立连接但是我无法做任何事情,因为我收到"uninitialized constant"和"NameError"之类的错误.
任何提示/指导正确的方向是值得赞赏的.
最后请注意,我尝试做的是生成链接,管理员可以使用这些链接在浏览器上查看图像而不下载它们.从我读到的这就是它的作用.但它是肯定还是只是将它们下载到管理员的计算机上?
我正在使用friendly_id gem.在portfolio.rb中我放了这两行:
extend FriendlyId
friendly_id :title, use: :slugged
Run Code Online (Sandbox Code Playgroud)
如你所见,我也在使用slug选项.当我创建一个标题为"example"的项目时,它可以找到并且我可以找到该项目mysite.com/projects/example.现在,如果我创建一个具有相同标题的第二个,我会像这样得到一个标题:mysite.com/projects/example-74b6c506-5c61-41a3-8b77-a261e3fab5d3.我真的不喜欢这个头衔.我希望有一个更友好的标题example-2.
在这个问题上,RSB(用户)告诉我它的friendly_id导致了这个问题.我想知道是否有办法创造一个更友好的.起初我想到"手动"检查是否存在相同的标题(在while循环中)并使用example-2或example-3或... example-N分配另一个标题.
但是我需要做那样的事情还是我错过了什么?有没有更简单的方法来做这样的事情?
我正在使用omnicontacts gem,以便用户可以在我的网站上邀请他们的联系人.我已成功为Google设置了它.
我已经使用gem的自述文件建议的contacts_callback方法设置了一个omnicontacts控制器.
和路线: get "/contacts/:importer/callback" => "omnicontacts#contacts_callback"
在omnicontacts.rb的初始化程序中,我有以下内容:
require "omnicontacts"
Rails.application.middleware.use OmniContacts::Builder do
importer :gmail, "hidden-client-key", "hidden-secret-key", {redirect_path: "/contacts/gmail/callback"}
importer :facebook, "hidden-client-key", "hidden-secret-key", {:redirect_path => "/contacts/facebook/callback" }
importer :hotmail, "hidden-client-key", "hidden-secret-key", {redirect_path: "/contacts/hotmail/callback"}
end
Run Code Online (Sandbox Code Playgroud)
根据gem的自述文件的最后两个(facebook和hotmail)不需要redirect_path但是以防万一我是否使用它进行测试,我仍然得到redirect_uri无效的错误.当我在寻找解决方案时,我发现了一个地方:redirect_path而不是:callback_path并尝试过,但没有运气.
在Microsoft应用程序(用于hotmail)上,我得到了关于错误的更长描述:
输入参数'redirect_uri'的提供值无效.预期值为" https://login.live.com/oauth20_desktop.srf "或与此客户端应用程序注册的重定向URI匹配的URL.
结果我继续并为此客户端应用程序注册了重定向URI.URI是http://example.com/contacts/hotmail/callback,它与回调路径匹配.
仍然,得到相同的错误.任何线索?
我在开发环境中工作.
我在/ config/initializers下有一个stripe.rb文件,其内容是:
Rails.configuration.stripe = {
:publishable_key => ENV['PUBLISHABLE_KEY'],
:secret_key => ENV['SECRET_KEY']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
Run Code Online (Sandbox Code Playgroud)
我试图将它们放在那里(在ENV ['key-here']中)但是Stripe不能识别它们并返回错误.
为了使它工作,我在启动我的rails服务器之前传递它们:
PUBLISHABLE_KEY=pk_test_XXXXXXXXXXXXX SECRET_KEY=sk_test_XXXXXXXXXXXX rails s
Run Code Online (Sandbox Code Playgroud)
我在哪里将这些值放在我的Rails应用程序中?(因为我将很快在生产中部署)
谢谢
我希望用户能够通过不同的默认URL编辑模型,默认URL /merchants/:id/edit(.:format)将使用令牌.此令牌随机创建并存储在数据库中.
我想要创建的链接与此类似merchants/token-124512/edit.
现在我希望能够通过电子邮件将此链接发送给用户.id的默认链接是 link_to "link", edit_merchant_path(@merchant, :only_path => false).
带有令牌的那个人怎么样?另外,我如何在routes.rb中声明这个?
我正在尝试检索客户的默认和有效卡.(还要记住,通过我所拥有的编码,客户可以随时拥有一张卡片,这意味着如果有方法可以提供帮助).
几个月前我使用了这个代码段,运行正常.似乎Stripe做了一些更新,我现在无法让它工作.
current_user.stripe_card_id = customer.active_card.id
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
#Stripe :: Customer的未定义方法`active_card'
如果您需要更多信息,请告诉我.
编辑:customer.default_card.id也不起作用.
我的导轨版本:
rails -v
Rails 4.0.2
Run Code Online (Sandbox Code Playgroud)
我使用Devise作为用户模型.
注销链接是:
<%= link_to 'Sign out', destroy_user_session_path, method: :delete %>
Run Code Online (Sandbox Code Playgroud)
当我点击链接时出现此错误:
AbstractController::ActionNotFound at /users/sign_out
The action 'show' could not be found for UsersController
Run Code Online (Sandbox Code Playgroud)
通过执行rake路由,我得到了这个:
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
Run Code Online (Sandbox Code Playgroud)
登录development.log
Started GET "/users/sign_out" for 127.0.0.1 at 2013-12-28 20:45:06 +0000
AbstractController::ActionNotFound - The action 'show' could not be found for UsersController:
actionpack (4.0.2) lib/abstract_controller/base.rb:131:in `process'
actionpack (4.0.2) lib/abstract_controller/rendering.rb:44:in `process'
actionpack (4.0.2) lib/action_controller/metal.rb:195:in `dispatch'
actionpack (4.0.2) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.0.2) lib/action_controller/metal.rb:231:in `block in action'
actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:80:in `dispatch' …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的应用程序的每个页面制作动态标题。
我的方法:在 application.html.erb 中我设置了这个:
<title><%= titles %></title>
Run Code Online (Sandbox Code Playgroud)
我在 ApplicationHelper.rb 上添加了这个
def titles
if request.original_fullpath == "/"
return "Find Web Designers and Developers • AwesomeWeb"
end
end
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ArgumentError in HomeController#index
invalid byte sequence in US-ASCII
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是一个好方法。但我想你明白我想要做什么。即使这种方法对我来说效果很好。关于如何进行这项工作的任何建议?
谢谢
我创建了一个Rails应用程序,我希望当我将任何链接指向我的网站时,要删除"www".
例如,当某人将http://www.mydomain.com/users输入浏览器地址时,当页面加载时,这将更改为http://mydomain.com/users.
所以,如果我使用apache,我可以将这些行添加到.htaccess文件中:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
但是我正在使用nginx和unicorn(我不确定独角兽是否与此有关).
我在nginx配置中放置类似的东西吗?
任何指向正确方向的资源/点都会非常有用.
我昨天安装了我的SSL证书.但是我得到了SSL警告(三角形)图标.借口是"该页面包含其他不安全的资源".
我不确定这意味着什么,但我的假设是它与一些不安全的文本输入有关.
任何让我了解更多并了解如何保护所有内容的信息或资源都会有所帮助.我不喜欢那里的警告(特别是在注册页面上),需要弄清问题是什么.谢谢.