小编at.*_*at.的帖子

如何将登录表单放在Devise和Rails的标题中

我想在我的网站的标题中添加一个登录表单.我使用Rails 3.2.8和最新的Devise.在app/views/devise/sessions/new.html.erb文件中创建登录表单:

  <%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:class => 'main'}) do |f| %>
    <div><%= f.label :login %> <%= f.text_field :login, :placeholder => 'Enter username' %></div>
    <div><%= f.label :password %> <%= f.password_field :password, :placeholder => 'Enter password' %></div>
    <% if devise_mapping.rememberable? -%>
      <div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
    <% end -%>
    <%= f.submit "Go" %>
  <% end %>
Run Code Online (Sandbox Code Playgroud)

如果我尝试复制该代码并将其放入我的代码中application.html.erb,我会收到有关上面引用的资源变量的错误:

undefined local variable or method `resource' for #<#<Class:0x3cb62c8>:0x3c73b00>
Run Code Online (Sandbox Code Playgroud)

那么我可以使用普通的rails形式/users/sign_in作为动作吗?如何在登录后告诉设计重定向到哪里?

login ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.2

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

Zurb Foundation单选按钮和复选框在Rails中不起作用

我已经使用他们的gem在我的Rails项目中安装了基础并运行以下两个命令:

rails g foundation:install
rails g foundation:layout
Run Code Online (Sandbox Code Playgroud)

一切似乎都很好用,很好的CSS标记和网格布局.但是,我的单选按钮和复选框看起来没什么不同.描述单选按钮和复选框页面显示:"一旦初始化(它们指的jquery.foundation.forms.js是自动包含在每个Rails页面中),它将查找任何复选框,单选按钮或选择元素,并将其替换为Foundation提供的自定义标记风格."

但我的单选按钮和复选框看起来很标准,而不像上面示例页面上的漂亮按钮和复选框.他们建议display: none;在输入上设置一些自定义标记,以避免闪光从正常到基础按钮/复选框.这没有用.我甚至从他们的示例网页复制并粘贴到我的网页!仍然没有运气!我错过了什么吗?

我正在使用Rails 3.2.8

ruby-on-rails css-frameworks ruby-on-rails-3 ruby-on-rails-3.2 zurb-foundation

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

rails开发日志填充了GET请求,希望只查看数据库请求

我的rails开发日志中包含了大量的这些行:

Started GET "/assets/services.css?body=1" for 127.0.0.1 at 2012-11-26 02:27:49 -0800
Served asset /services.css - 304 Not Modified (0ms)
[2012-11-26 02:27:49] WARN  Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true
Run Code Online (Sandbox Code Playgroud)

我想我需要弄清楚如何让rails确定内容长度或设置response.chunked某处(不确定究竟是什么)以避免最后一行.但是,绝大多数时候我不得不浪费时间搜索这些数据库请求,如下所示:

Started GET "/points" for 127.0.0.1 at 2012-11-26 02:27:54 -0800
Processing by PointsController#index as HTML
  User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  PointsLog Load (0.1ms)  SELECT "points_logs".* FROM "points_logs" WHERE "points_logs"."user_id" = 1
  Rendered points/index.html.erb within …
Run Code Online (Sandbox Code Playgroud)

logging development-environment ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

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

在belongs_to ActiveRecord关联上使用直通选项

有没有一种方法through可以在belongs_to关系中使用该选项?选项中没有提及关于Emirates_toRails文档through,为什么不呢?我想做以下事情:

class Lesson < ActiveRecord::Base
  attr_accessible :name, :lesson_group_id
  belongs_to :lesson_group
  belongs_to :level, through: :lesson_group
end

class LessonGroup < ActiveRecord::Base
  attr_accessible :name, :level_id
  belongs_to :level
  has_many :lessons
end

class Level < ActiveRecord::Base
  attr_accessible :number
  has_many :lesson_groups
end
Run Code Online (Sandbox Code Playgroud)

然后我可以做类似的事情Lesson.first.level。使用最新的稳定Rai​​ls(截至目前为3.2.9)。

activerecord ruby-on-rails belongs-to ruby-on-rails-3 ruby-on-rails-3.2

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

在pre元素内部时,可以将HTML span元素设置为自动换行吗?

我有一个问题,我有span元素absolute定位(他们是标注).它们通常是单行,但有时需要包装.这很好.我设置了一个宽度,它们会自动换行.除非它们在pre元素内.

这是一个显示上述内容jsfiddle.我已经尝试过更改displayblockinline-block.我试过设置word-wrapbreak-word.似乎没什么用.

我可以尝试将其更改span为a div,我猜在语义上也是有道理的......但这需要比我现在通过我的应用程序处理更多的时间.

我对html5或css3解决方案非常满意,该解决方案仅适用于最新的浏览器.

html css html5 absolute css3

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

如何使用Rails在浏览器的时区中显示DateTime?

Rails将所有DateTimes 存储在UTC时区中.我需要在他们的浏览器报告他们所在的时区中向用户显示该时间.有一种简单的方法吗?

使用最新的Rails(3.2.13).

timezone datetime ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

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

如何使JavaScript网页看起来像iPhone上的应用程序

我想制作一个简单的网页,其中JavaScript游戏看起来像iPhone上的应用程序.我知道我可以将书签保存到主屏幕,看起来像一个应用程序,我知道我可以在我的HTML中为缩略图设置apple-itouch-image.但是当你点击主屏幕上的应用程序时,很明显这只是一个网页.如何像Google阅读器一样摆脱顶部的URL和搜索栏?如果您稍后向上滚动,可以看到该栏.

单击网页时是否可以直接进入全屏模式?

我不是在寻找像PhoneGap这样的东西,我只想制作一个简单的网页,其中JavaScript看起来像一个应用程序,我不希望它实际上是一个应用程序.

javascript iphone ipad ios

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

检索 ActiveRecord/Rails 中没有关系的对象

我需要从我的数据库中获取所有非员工的用户:

class User < ActiveRecord::Base
  has_one :staff
  def is_staff?
    staff != nil
  end
end
class Staff < ActiveRecord::Base
  attr_accessible :user_id
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

所以我可以用代码来做到这一点:

User.all.select {|user| not user.is_staff? }
Run Code Online (Sandbox Code Playgroud)

这似乎可行,但我希望在数据库中有这个逻辑,并且在尝试以这种方式排序时,由于某种原因,我在使用 Heroku 的生产中遇到错误(使用 sqlite 的开发不会给我这个错误):

NAME_SORT = ->(a, b) {
  if a.first_name == b.first_name
    a.last_name <=> b.last_name
  else
    a.first_name <=> b.first_name
  end
}
User.all.select {|user| not user.is_staff? }.sort &NAME_SORT
Run Code Online (Sandbox Code Playgroud)

由于某种原因我得到的错误是:

ArgumentError: comparison of User with User failed
Run Code Online (Sandbox Code Playgroud)

无论如何,如果我想获得所有员工用户,这似乎很简单:

User.joins(:staff)
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来吸引非员工的用户?也许是这样的?

User.not_joins(:staff)
Run Code Online (Sandbox Code Playgroud)

实际上我需要用户不是员工或管理员:

User.not_joins(:staff, :admin)
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails ruby-on-rails-3.2 ruby-on-rails-4 rails-activerecord

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

将ActiveRecord日期和时间组合到DateTime中

我的数据库中的表中有2列,1是日期,1是时间.我需要使用ActiveRecord将它们组合成DateTime对象.什么是最好的方式?

1.9.3-p194 :053 > date.class
 => Date 
1.9.3-p194 :054 > time.class
 => Time 
1.9.3-p194 :055 > date.to_time_in_current_zone
 => Wed, 04 Sep 2013 00:00:00 PDT -07:00 
1.9.3-p194 :056 > date.to_time_in_current_zone + time
TypeError: not an integer
Run Code Online (Sandbox Code Playgroud)

我可以添加时间的各个字段,这似乎工作:

1.9.3-p194 :062 > date.to_time_in_current_zone + time.hour.hours + time.min.minutes + time.sec.seconds
 => Wed, 04 Sep 2013 12:30:00 PDT -07:00 
Run Code Online (Sandbox Code Playgroud)

那不包括毫秒,没有Time毫秒?如果我不能有毫秒,那么不是世界末日,但是有更好的方法吗?

activerecord ruby-on-rails ruby-on-rails-3.2 ruby-on-rails-4 rails-activerecord

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

在Rails中的控制器和视图中使用的辅助方法

我知道我可以在Rails文件夹中的Helper类中放置一个帮助器方法helper.然后该方法可以在任何视图中使用.我知道我可以在ApplicationController类中放置方法,并且该方法可以在任何控制器中使用.

放置控制器和视图中经常使用的方法的适当位置在哪里?

ruby-on-rails helpermethods ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4

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