Tag: railsapps

在Rails中使用Mailchimp时无效的URI错误

运行OSX Mavericks,ruby 2.1.1p76(2014-02-24修订版45161)[x86_64-darwin13.0],rvm 1.25.23(主站)和rails-4.1.0(据称) 我正在通过railsapps.org书来学习rails我已经完成了mailchimp电子邮件列表代码的实现,当我在表单上按提交时,我收到以下错误: URI::InvalidURIError at /visitors the scheme https does not accept registry part: us8′.api.mailchimp.com (or bad hostname?) 我的调试屏幕似乎表明它在通话时失败了 result = mailchimp.lists.subscribe({ :id => Rails.application.secrets.mailchimp_list_id, :email => {:email => self.email}, :double_optin => false, :update_existing => true, :send_welcome => true }) 我有我的API密钥和列表ID都硬编码到secrets.yml,所以我知道他们是正确的。 有任何想法吗? 问候,杰夫

从表单中选择枚举以设置角色

Ruby on Rails 4.1 我正在使用具有枚举角色的Devise。 它在创建用户时当前设置了defualt角色。 我想在创建用户设置枚举角色的表单中添加一个字段。 我读过这篇文章,但没有说明如何利用新角色。 这是User类 devise :database_authenticatable, :registerable, :confirmable, :recoverable, :rememberable, :trackable, :validatable enum role: [:user, :vip, :admin, :developer, :marketing, :support, :translator] after_initialize :set_default_role, :if => :new_record? def set_default_role self.role ||= :user end 这是我尝试选择一个枚举角色的表单的一部分: 错误: NoMethodError – undefined method `enum’ for [“user”, 0]:Array: actionview (4.1.1) lib/action_view/helpers/form_options_helper.rb:761:in `value_for_collection’ 我之前从未使用过enum, 文档也没有certificate有用。 如何显示枚举选项?

user.admin在哪里? 在rails-devise-pundit starter app中定义?

我使用RailsApps rails-composer创建了rails- devise-pundit starter应用程序。 我仍然对铁轨上的ruby有点新意,而且更新设计,专家和导轨4。 我正在查看代码以了解它是如何工作的。 控制器和策略类中有很多地方user.admin? 叫做。 但我找不到管理员? 方法。 我希望它在用户模型中,但它不存在。 这是用户类: class User :new_record? def set_default_role self.role ||= :user end end 在users_controller.rb的一部分中使用: def show @user = User.find(params[:id]) unless current_user.admin? unless @user == current_user redirect_to root_path, :alert => “Access denied.” end end end 权威或设计是否会以某种方式创建此方法? 我已经看到它在专家文档中使用,但它只是以它为例。 它并没有说需要创建方法或它处理它。 它是否以某种方式使用角色枚举,其中:admin作为可能的值? 如果有人能解释这是如何工作的,我会很感激。 我打算尽快添加使用rolify gem来处理角色而不是用户类中的角色枚举。 也许我会因为某些原因想要制作完全不同的角色名称。 我想确保我理解如何保持一切正常。 谢谢。

使用Bootstrap或Foundation在Rails 4.1下的Flash消息颜色错误

以下代码使用Bootstrap 3.0显示Rails Flash消息: <div class="alert alert-“> × “flash_#{name}” %> 代码来自文章Bootstrap和Rails 。 Foundation和Rails一文中的类似代码可以与Foundation一起使用: <div data-alert class="alert-box round “> × 对于Bootstrap或Foundation,当我将我的应用程序从Rails 4.0升级到Rails 4.1时,所有闪存消息都显示为红色,甚至是“通知”消息,这些消息应显示为绿色。 Rails 4.1中有什么改变来打破这段代码?