小编Edi*_*ado的帖子

如何在Rails 3.1中为CoffeeScript使用选项"--bare"?

有人知道如何在Rails 3.1中使用此选项?现在CoffeScript .call(this)在每个文件上放置一个函数,但我想删除它.

编辑:" 无法找到变量"错误与Rails 3.1和Coffeescript "和" 模式为CoffeeScript模块 "有我想要的.我将改变我的全局变量以使用@global范围.

ruby-on-rails coffeescript

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

如何使用Amazon s3部署(同步)Rails 3.1预编译资产

如何将Rails 3.1管道的预编译资产部署到s3?

我需要一个任务来自动执行与资产存储桶同步的工作.

编辑:

这个gem正是我需要的:https://github.com/rumblelabs/asset_sync.

amazon-s3 ruby-on-rails-3.1 asset-pipeline

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

助手"fields_for"无效

我正在使用嵌套属性,但我的视图中未加载字段.有人知道我错过了什么吗?

Rails 3.1,Ruby 1.9.2

型号1:

class Traditions::Material < ActiveRecord::Base
  has_one :material_asset, :dependent => :destroy
  validates_presence_of :title
  accepts_nested_attributes_for :material_asset
end
Run Code Online (Sandbox Code Playgroud)

型号2:

class Traditions::MaterialAsset < ActiveRecord::Base
  belongs_to :material
  has_attached_file :asset
  validates_attachment_presence :asset
end
Run Code Online (Sandbox Code Playgroud)

查看(HAML):

= form_for @material, :html => {:class => 'form', :multipart => true} do |f|
    = errors_for @material

    .field
        = f.label :title
        = f.text_field :title

    .field
        = f.label :description
        = f.text_area :description, :rows => 5

    .field
        = f.fields_for :material_asset do |ma|
            = ma.label :asset
            = ma.file_field :asset

    .buttonrow
        = f.submit …
Run Code Online (Sandbox Code Playgroud)

haml ruby-on-rails helpers ruby-on-rails-3 ruby-on-rails-3.1

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

设计Ajax登录:'sessions#create'仅在成功时渲染'create.js.erb'

我的目标是使用Devise实现Ajax登录解决方案,并尽可能减少模式的变化.我已经部分达到了它,但是故障回调存在一个问题.让我解释一下这个场景:

  1. 使用remote: trueRails/UJS约定在模式中显示登录表单(OK);
  2. 创建一个自定义sessions控制器并指向Devise(OK);
  3. 创建一个JS视图文件create.js.erb来响应sessions#create操作(问题);

问题:我create.js.erb只包含一个alert("Test ok").当我sessions#new使用正确的凭据提交表单时create.js.erb,将alert显示该文件.但是如果凭证不正确,则返回401 Unauthorized状态并被create.js.erb忽略.

create.js.erb当登录失败时,也许有人知道快速操作.这样我就不需要创建独立的Ajax脚本或更改整个sessions控制器.

谢谢,

环境:

VERSIONS:
Rails 4.0.2
Devise 3.2.2
Run Code Online (Sandbox Code Playgroud)

定制会话控制器:

class Website::SessionsController < ::Devise::SessionsController
  respond_to :js # without it neither on success create.js.erb runs
  layout false   # action `new` pure html which is rendered in a modal box
end
Run Code Online (Sandbox Code Playgroud)

会议/ create.js.erb

alert("Test ok");
Run Code Online (Sandbox Code Playgroud)

登录失败时的服务器日志:

Started POST "/users/sign_in" for …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise

4
推荐指数
2
解决办法
3465
查看次数