标签: railsapps

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

以下代码使用Bootstrap 3.0显示Rails Flash消息:

<%# Rails flash messages styled for Twitter Bootstrap 3.0 %>
<% flash.each do |name, msg| %>
  <% if msg.is_a?(String) %>
    <div class="alert alert-<%= name == :notice ? "success" : "danger" %>">
      <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
      <%= content_tag :div, msg, :id => "flash_#{name}" %>
    </div>
  <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

代码来自文章Bootstrap和Rails.

Foundation和Rails一文中的类似代码可以与Foundation一起使用:

<%# Rails flash messages styled for Zurb Foundation 5.0 %>
<% flash.each do |name, msg| %>
  <% if msg.is_a?(String) %>
    <div …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails twitter-bootstrap zurb-foundation railsapps ruby-on-rails-4.1

17
推荐指数
1
解决办法
5399
查看次数

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

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
Run Code Online (Sandbox Code Playgroud)

这是我尝试选择一个枚举角色的表单的一部分:

<div class="form-group">
  <%= f.collection_select :role, User.roles, :id, :enum, {prompt: "Select a role"}, {class: "form-control input-lg"} %>
</div>
Run Code Online (Sandbox Code Playgroud)

错误:

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'
Run Code Online (Sandbox Code Playgroud)

我之前从未使用过enum,文档也没有证明是有帮助的.如何显示枚举选项?

enums ruby-on-rails devise ruby-on-rails-4 railsapps

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

Rails Brick或Rails Composer是否被广泛使用?

我是Ruby on Rails的新手,并且看到人们使用Rails Brick或Rails Composer等自动样板生成器来创建样板用户管理系统等.来自不信任自动生成代码的后台,这是好的/ Rails中的合法实践使用此类系统.另外,我正在与一家初创公司合作开展一个项目.使用这种发电机是否合适,这种习惯有多普遍.

PS Mods请注意,这不是要求比较/意见/争议的问题.我对Rails中的一般做法感到好奇,以及它在生产中的使用频率.

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 railsapps

9
推荐指数
2
解决办法
3022
查看次数

无法安装rails - "文件存在@dir_s_mkdir"错误

我安装了导轨并且几乎正常工作.正在努力解决另一个问题我不小心关闭了bash窗口.所以我重新打开它,现在我根本无法使用rails,它告诉我没有安装rails.所以我跑了gem install rails --no-ri --no-rdoc,现在我得到以下内容:

ERROR:  While executing gem ... (Errno::EEXIST)
File exists @ dir_s_mkdir - /usr/local/Cellar/ruby/2.1.1_1/lib/ruby/gems`
Run Code Online (Sandbox Code Playgroud)

如何更正此错误?

ruby-on-rails learn-ruby-on-rails railsapps

7
推荐指数
2
解决办法
5521
查看次数

Sass打破@extend".bg-faded"

我使用Rails Composer为这里描述的rails-devise-roles项目创建一个框架应用程序:

https://github.com/RailsApps/rails-devise-roles

我收到由以下内容生成的500错误:

Sass::SyntaxError - ".authform form" failed to @extend ".bg-faded".
The selector ".bg-faded" was not found.
Use "@extend .bg-faded !optional" if the extend should be able to fail.
Run Code Online (Sandbox Code Playgroud)

添加"!optional"标志允许它进行渲染,但不会显示任何导航链接.

我的Gemfile的内容显示如下:

source 'https://rubygems.org'
git_source(:github) do |repo_name|
  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
  "https://github.com/#{repo_name}.git"
end
ruby '2.2.5'
gem 'rails', '~> 5.1.3'
gem 'sqlite3'
gem 'puma', '~> 3.7'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
group :development, :test do …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails sass railsapps

5
推荐指数
2
解决办法
752
查看次数

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

我使用RailsApps rails-composer创建了rails- devise-pundit starter应用程序.我仍然对铁轨上的红宝石有点新意,而且更新设计,专家和导轨4.

我正在查看代码以了解它是如何工作的.控制器和策略类中有很多地方user.admin?叫做.但我找不到管理员?方法.我希望它在用户模型中,但它不存在.这是用户类:

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable, :confirmable,
         :recoverable, :rememberable, :trackable, :validatable
  enum role: [:user, :vip, :admin]
  after_initialize :set_default_role, :if => :new_record?

  def set_default_role
    self.role ||= :user
  end
end
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

权威或设计是否会以某种方式创建此方法?我已经看到它在专家文档中使用,但它只是以它为例.它没有说明需要创建方法或者它处理它.它是否以某种方式使用角色枚举,其中:admin作为可能的值?如果有人能解释这是如何工作的,我会很感激.

我打算尽快添加使用rolify gem来处理角色,而不是用户类中的角色枚举.也许我会因为某些原因想要制作完全不同的角色名称.我想确保我理解如何保持一切正常.谢谢.

ruby-on-rails devise pundit railsapps

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

Windows 上的 .bashrc 文件在哪里?(Daniel Kehoe 的 learn-rails 教程书)

我之前问过有关 cloud9 的类似问题,但我现在尝试在我的 Windows 10 计算机上并行执行相同的项目,因为我无法访问互联网来使用 cloud9。我正在尝试设置配置,为遵循 Daniel Kehoe 的 learn-rails 教程书做准备,但我在设置环境变量时遇到问题。这本书似乎解释了如何在 Mac 上执行此操作,但我在 Atom 编辑器中找不到该文件。书上说输入命令:

atom ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

然而,这只是创建了一个新文件,该文件不属于我的 Rails 应用程序项目目录。我也尝试过

atom ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

这是替代方案,但结果相同。它只是创建一个与我的项目无关的文件。该文件应该已经存在于某处。

我应该将环境变量放入名为“.bashrc”的文件中,但我不知道在哪里可以找到该文件,因为它是隐藏的。如何使用 Atom 文本编辑器找到并打开该文件?

ruby-on-rails railsapps atom-editor

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

尝试将私钥添加到 AWS Opsworks 时出错

我正在尝试在 AWS Opswork 上设置一个新的 Rails 应用程序。

尝试添加新应用程序时,我不断收到错误“请提供有效的 SSH 密钥”

我已经使用 ssh-keygen 创建了一个公私密钥对,在 Github 中添加了公钥,并且我尝试在 AWS Opswork 页面中添加私钥。但我不断收到 SSH 密钥错误。在此输入图像描述

请帮忙。

ssh-keys amazon-web-services aws-opsworks railsapps

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