Tag: ruby on rails 3.1

如何在表单中包含Rails连接表字段?

在这种情况下,我可以将值插入Member表和Club表。 但是在我要提交值的Memberships表中有一个名为:task的字段,并且在Memberships表中, member_id和club_id由Rails自动插入。 如何在下面的表单中包含task栏? 先感谢您。 查看/表格: {:action =>”create”} do |f| %> 楷模 class Member :memberships has_many :memberships accepts_nested_attributes_for :clubs attr_accessible :clubs_attributes end class Club :memberships has_many :memberships end class Memberships < ActiveRecord::Base belongs_to :Member belongs_to :Club end

SCSS文件中的Rails 3.1资产URL似乎没有正确引用资产

我刚刚从Rails 3.0升级到Rails 3.1。 我有一个引用图像的foo.css.scss文件( /app/assets/images/foo.png ),如下所示: .foo { background-image: image-url(‘foo.png’); } 问题是我的foo.png文件没有加载,我在日志中看到404错误。 生成的实际css条目是: background-image: url(/images/foo.png); 这是错误的(?),因为图像可以在/assets/foo.png找到,而不是在/images/foo.png 。 请注意,我仍在development模式。 另一个重要说明。 如果我将我的foo.css.scss文件重命名为foo.css.erb并使用: background-image: url(); 它工作正常,因为它生成/assets/foo.png 。 那么,问题是为什么我的scss预编译器没有生成正确的css ? 更新 :我的foo.css.scss文件驻留: app/assets/stylesheets/sub_dir/foo.css.scss 这有什么不同吗?

如何转换此respond_to选项以使用Rails 3版本?

respond_to do |format| if @user.save format.js { render :nothing => true, :status => :ok, :location => @user } else format.js { render :json => @user.errors, :status => :unprocessable_entity } end end 我尝试过的所有选项(比如将respond_to :js放在控制器的顶部等)并没有像在这里那样工作。

rails 3.1资产不可用

我开始玩rails 3.1.rc4,但我遇到的第一个问题是资产不可用。 我创建了一个全新的项目,在索引页面中,rails图像给出了404.实际上任何资产都可用。 我检查了 # application.rb # Enable the asset pipeline config.assets.enabled = true 我试过了 config.assets.paths << "#{Rails.root}/app/assets/images" 而且还来自贝壳 $ rake rails:update $ rake assets:clean $ rake assets:precompile 没有运气,所以我摧毁了gem,我又重新安装了一个导轨,但到目前为止还没有任何工作。 有任何想法吗? – 谢谢

设计 – 从两个模型登录

我有两个用户模型,第一个来自远程数据库作为遗留和内部公司目的。 (员工登录)。 其次是我们的公共注册项目并登录,但我想要一个登录表单。 我已经搜索了很长时间,但有些解决方案对我来说很困惑。 第一个遗产看起来像(仅用于阅读和身份validation): class CrmUser [:login] alias_attribute :encrypted_password, :crypted_password alias_attribute :password_salt, :salt # Setup accessible (or protected) attributes for your model attr_accessible :login, :password, :password_confirmation, :remember_me, :role_id, :first_name, :last_name 第二,对于公众和注册: class User [:login] alias_attribute :login, :email # Setup accessible (or protected) attributes for your model attr_accessible :login, :password, :password_confirmation, :remember_me, :role_id, :first_name, :last_name […]

如何从Rails端使AJAX响应工作?

HTML表单: Enter your email: Signup 注意data-remote=”true” 控制者: class SubscribersController params[:email], :ip_address => request.remote_ip ) respond_to do |format| format.js end end end 视图(subscriber / create.js.erb) no clue what goes here to make it return normal AJAX response (or error if it encountered one 1.我在视图中放置什么使其返回正常的ajax响应或错误? – 它甚至需要开头(我可以在不创建此类视图的情况下返回此内容) 2.这是使用Rails执行ajax的正确方法吗?

如何防止初始化程序配置在开发模式中丢失?

我正在使用一个使用引擎的Rails应用程序。 我正在使用初始化程序来配置我的引擎控制器之一,以便它在主机应用程序中触发操作。 代码看起来像这样: # config/initializers/my_engine.rb MyEngine::SomeController.after_filter proc { # Do something in the host app }, :only => :update 这在生产中工作正常,但在开发模式下,proc仅在第一个请求时调用。 这是因为类被重新加载并且此配置丢失,因为它存储在类变量中。 (例如, MyEngine::SomeController从它所在的文件重新加载,并且因为after_filter没有在那里声明,所以不会重新添加它。) 一些Rails背景 在开发模式下,Rails使用以下加载策略: app目录中的代码会在每个请求上重新加载,前提是您正在主动更改它。 当应用程序启动时, lib目录中的代码以及config/initializer文件将被加载一次 。 初始化程序文件通常用于配置gem。 在过去,gems主要在lib目录中有代码,因此运行一次配置就足够了。 引擎如何改变事物 但是,Rails引擎在app目录中有代码:控制器,模型等。这些文件在每个请求的开发模式下重新加载。 因此,上面的示例配置将丢失。 输入to_prepare Rails专门提供config.to_prepare来解决这个问题:它在生产中运行一次,在开发中的每个请求上运行一次。 例如,我们在application.rb中有这个,它工作正常: config.to_prepare do # set up class variables (after_filters, etc) end 但是,如果我必须将所有引擎的配置放在application.rb ,这会使config/initializers application.rb失败,以保持组织有序。 因此,对于我的引擎的app目录中的任何类配置,我想将该代码放在config/initializers下的文件中。 这是我的问题。 我不清楚如何在初始化文件中将config纳入范围。 我在想它会是Rails.application.config 。 […]

ArgumentError:您需要提供至少一个validation:if

我有一个简单的模型 class Task :deadline_in_future? def deadline_in_future? Date.today < self.deadline end end 一切似乎都好,但是当我在我的rails控制台时 irb(main):001:0> Task.new ArgumentError: You need to supply at least one validation 问题出在哪儿?

设计..首次登录后应要求更改密码

我在我的应用程序中使用devise作为身份validation。 我需要在设计中实现function。 首次登录后,用户应要求更改密码。 我试过模型 after_create :update_pass_change def update_pass_change self.pass_change = true self.save end

使用Rails预编译资产3.1

我正在推动对Heroku的改变,我得到…… 耙子流产了! 无法连接到服务器:连接被拒绝 服务器是否在主机“127.0.0.1”上运行并接受 端口5432上的TCP / IP连接? 当我查阅Heroku文档时,它告诉我我需要“在本地config / database.yml中配置一个不存在的数据库”我不知道如何创建“不存在的数据库”? 我是初学者,非常感谢你能给我的任何帮助。 谢谢。