有人知道如何在Rails 3.1中使用此选项?现在CoffeScript .call(this)在每个文件上放置一个函数,但我想删除它.
编辑:" 无法找到变量"错误与Rails 3.1和Coffeescript "和" 模式为CoffeeScript模块 "有我想要的.我将改变我的全局变量以使用@global范围.
如何将Rails 3.1管道的预编译资产部署到s3?
我需要一个任务来自动执行与资产存储桶同步的工作.
编辑:
这个gem正是我需要的:https://github.com/rumblelabs/asset_sync.
我正在使用嵌套属性,但我的视图中未加载字段.有人知道我错过了什么吗?
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
我的目标是使用Devise实现Ajax登录解决方案,并尽可能减少模式的变化.我已经部分达到了它,但是故障回调存在一个问题.让我解释一下这个场景:
remote: trueRails/UJS约定在模式中显示登录表单(OK);sessions控制器并指向Devise(OK);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)