小编ban*_*hay的帖子

Rails迁移将当前日期设置为默认值

我在表中有一个列日期:

create_table "test", :force => true do |t|
     t.date  "day"
end
Run Code Online (Sandbox Code Playgroud)

我想将当前日期设置为此列的默认值.我尝试如下:

create_table "test", :force => true do |t|
     t.date  "day", :default => Date.today
end
Run Code Online (Sandbox Code Playgroud)

但默认总是2月1日,所以如果我明天创造新纪录,那一天仍然是2月1日(预计是2月2日)

谢谢你的回复!

注意:我在rails 3中使用sqlite

migration ruby-on-rails

13
推荐指数
2
解决办法
9249
查看次数

rails 3中<%...%>和<%= ..%>之间的差异

我在helpers/application_helper.rb文件中有测试方法:

def test
  concat("Hello world")
end
Run Code Online (Sandbox Code Playgroud)

然后,在index.html.erb中我调用:

Blah
<% test %>
Run Code Online (Sandbox Code Playgroud)

浏览器显示:

布拉赫你好世界

这通常是,但如果我改变

<%= test %>
Run Code Online (Sandbox Code Playgroud)

浏览器显示:

Blah你好worldBlah你好世界

它复制了所有页面.我不知道为什么?他们之间有什么区别?谢谢你的帮助!

ruby-on-rails

6
推荐指数
4
解决办法
2633
查看次数

Rails 3.1:服务器总是以HTML格式处理,而不是JS

我正在使用rails 3.1.3.我想使用js.erb文件,如下步骤:
1.在posts控制器中创建测试操作:

def test
    respond_to do |format|
        format.js
    end
end  
Run Code Online (Sandbox Code Playgroud)

2.在routes.rb中定义此操作:

resource :posts do
    collection do
        get 'test'
    end
end
Run Code Online (Sandbox Code Playgroud)

3.创建test.js.erb文件:

$('#abc').append('<h1>something</h1>');
Run Code Online (Sandbox Code Playgroud)

4.在index.html.erb文件中:

<div id='abc'></div>
<%= link_to "Test", test_posts_path, :remote => true %>
Run Code Online (Sandbox Code Playgroud)

但是,我运行并单击以测试链接,它转到带有URL的空白页面,http://localhost:3000/posts/test日志服务器是:

Started GET "/posts/test" for 127.0.0.1 at Sat Feb 11 18:04:36 +0700 2012
Processing by PostsController#test as HTML
Run Code Online (Sandbox Code Playgroud)

因此,服务器不作为JS处理,test.js.erb文件中的jQuery不会被执行.你能解释为什么在控制器中我将服务器进程作为HTML来定义respond_to format.js吗?
我假设项目中的所有响应都定义为format.html所以我的测试操作无法响应JS?如果正确,我可以改变吗?
非常感谢你

更新:在assets/javascripts/application.js中需要使用的行:

//= require jquery
//= require jquery_ujs
Run Code Online (Sandbox Code Playgroud)

然后它工作.

jquery ruby-on-rails

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

标签 统计

ruby-on-rails ×3

jquery ×1

migration ×1