我的应用程序有一个选择框供用户选择"场地".正如您所料,此选择框位于表单中.我还在页面的某个位置通过AJAX创建了一个新的场地.创建新场地后,我想更新场地选择框以反映这一点.
我的解决方案是将选择框放在部分中,并从控制器中的create动作渲染部分.
<div id="venue_select" style="clear: both;">
<%= render :partial => 'venue/venue_select_box' %>
</div>
Run Code Online (Sandbox Code Playgroud)
部分看起来像这样:
<%= f.collection_select :venue_id, @user_venues, :id, :name, :prompt => 'Select a venue' %>
Run Code Online (Sandbox Code Playgroud)
其中f是表格参考:
<% form_for :shows do |f| %>
Run Code Online (Sandbox Code Playgroud)
问题是f在partial中未定义,所以我得到一个错误.一种解决方案是包含整个表单,但我觉得这不应该是必要的,因为我没有更新整个表单.关于如何解决这个问题的任何想法?
我在Django中有一个非常基本的模型:
class Case(models.Model):
name = models.CharField(max_length=255)
created_at = models.DateTimeField(default=datetime.now)
updated_at = models.DateTimeField(default=datetime.now)
def save(self):
if self.created_at == None:
self.created_at = datetime.now()
self.updated_at = datetime.now()
super(Case, self).save()
class Meta:
db_table = u'cases'
Run Code Online (Sandbox Code Playgroud)
因为我没有指定PK,Django为我照顾了这个.我在我的数据库中看到了一个名为"id"的字段,标记为主键并自动增加.我觉得奇怪的是得到了警告,因为数据库和模型端的一切都很酷.错误是:
_mysql_exceptions.Warning
Warning: Field 'id' doesn't have a default value
Run Code Online (Sandbox Code Playgroud)
保存时我的工作是将id设置为0.它会终止警告并且无论如何都会正确设置id,因为MySQL处理它.
case = Case()
case.id = 0 #ugly workaround for - Warning: Field 'id' doesn't have a default value
case.name = request.POST[u'case[name]']
case.save()
Run Code Online (Sandbox Code Playgroud)
此解决方案的问题是:
有谁知道如何解决这一问题?
我在跑:
Python 2.7.2
django.VERSION (1, 3, 1, 'final', 0)
mysql Ver 14.14 …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中存储了一个成本.成本未在数据库中格式化.例如:00.00保存为0,1.00保存为1,40.50保存为40.5
我需要从数据库中读取这些值并将它们转换为字符串以获得美元和美分.例如:0 - > cost_dollars ="00"&cost_cents ="00",1 - > cost_dollars ="01"&cost_cents ="00",40.5 - > cost_dollars ="40"&cost_cents ="50" .
有没有一种简单的方法在轨道上的红宝石中做到这一点?或者有人有代码执行此操作吗?
谢谢!
我正在使用Sphinx和Thinking Sphinx插件.我用以下代码索引了一个名为Venue的模型(和rake thinking_sphinx:index命令)
define_index do
indexes :name
indexes city
indexes zip
end
Run Code Online (Sandbox Code Playgroud)
我使用以下代码在控制器中获取结果:
@venues = Venue.search params[:search]
Run Code Online (Sandbox Code Playgroud)
我将它们渲染为json.我遇到的问题是,当我点击此网址时:
http://localhost:3000/venue/list?search=Baltimo
Run Code Online (Sandbox Code Playgroud)
我一无所获.但是当我点击此网址时:
http://localhost:3000/venue/list?search=Baltimor
Run Code Online (Sandbox Code Playgroud)
我得到了位于巴尔的摩市的所有场地.出于某种原因,一个角色有所作为.从理论上讲,如果我只搜索一个角色,我应该在巴尔的摩获得所有场地 - 'b'
有谁知道这里发生了什么?
谢谢
这个问题很简单,但我已经遇到过几次这个问题了.
假设你做的事情如下:
cars = Vehicle.find_by_num_wheels(4)
cars.each do |c|
puts "#{c.inspect}"
end
Run Code Online (Sandbox Code Playgroud)
如果汽车是一个阵列,这可以正常工作,但如果数据库中只有一辆汽车则会失败.显然我可以做一些像"if!cars.length.nil?"的事情.或者在调用.each之前,如果cars对象是一个数组,请检查其他方式,但每次都有点烦人.
是否有类似.each的东西来处理这个检查?或者是否有一种简单的方法可以将查询结果强制为数组而不管大小?
我在rails应用程序上有一个ruby,很高兴看到我每小时获得多少次点击.是否有一些简单的免费软件可以做到这一点,还是我必须开发自定义解决方案?谢谢!
我正在使用TestUnit,并想确定是否调用了一个函数.我在一个名为Person的类中有一个方法,我将其设置为'before_update':
def geocode_if_location_info_changed
if location_info_changed?
spawn do
res = geocode
end
end
end
Run Code Online (Sandbox Code Playgroud)
然后我有一个单元测试:
def test_geocode_if_location_info_changed
p = create_test_person
p.address = "11974 Thurloe Drive"
p.city = "Baltimore"
p.region = Region.find_by_name("Maryland")
p.zip_code = "21093"
lat1 = p.lat
lng1 = p.lng
# this should invoke the active record hook
# after_update :geocode_if_location_info_changed
p.save
lat2 = p.lat
lng2 = p.lng
assert_not_nil lat2
assert_not_nil lng2
assert lat1 != lat2
assert lng1 != lng2
p.address = "4533 Falls Road"
p.city = "Baltimore"
p.region = Region.find_by_name("Maryland") …Run Code Online (Sandbox Code Playgroud) 我需要传递给请求的很多JSON数据:
$.ajax({
type: "POST",
url: "http://"+HOST+"/users/rankings",
data: "friends="+JSON.stringify(friendsArr),
success: function(response){
$("#rankings").html(response);
}
});
Run Code Online (Sandbox Code Playgroud)
friendsArr是JSON格式的对象数组.问题是某些对象的数据带有"+"且无法正确编码.它在服务器端作为"",数据搞砸了.我是否真的必须遍历所有数据并分别编码每个值?必须有一个更简单的方法.
我正在更新Rails 3的应用程序,我在创建自定义外键时遇到问题.我有这样的事情:
class Product < ActiveRecord::Base
belongs_to :owner, :class_name => 'User'
...
end
class User < ActiveRecord::Base
has_many :products
...
end
class ProductsController < ApplicationController
before_filter :authenticate_user!
def index
@products = current_user.products
end
end
Run Code Online (Sandbox Code Playgroud)
风景:
<%- @products.each do |p| -%>
<%= p.created_at %><br />
<%- end -%>
Run Code Online (Sandbox Code Playgroud)
我在Rails日志中收到此错误:
Mysql::Error: Unknown column 'products.user_id' in 'where clause': SELECT `products`.* FROM `products` WHERE (`products`.user_id = 1)
Run Code Online (Sandbox Code Playgroud)
它应该看到belongs_to :owner并查找一个名为的外键owner_id.我甚至尝试显式设置外键,但这不起作用.我还检查了灯塔的可能Rails 3错误,但没有运气.
我有代码以非常差的质量重新创建高质量的图像,但我对我看到的结果感到有点困惑.代码在这里:
NSData *compressedData = UIImageJPEGRepresentation(bigImage,0);
NSLog(@"compressedData length = %d", [compressedData length]);
self.currentImage = [UIImage imageWithData:compressedData];
NSData *dataAfterCompression = UIImageJPEGRepresentation(self.currentImage,1);
NSLog(@"dataAfterCompression length = %d", [dataAfterCompression length]);
Run Code Online (Sandbox Code Playgroud)
哪个输出:
2012-01-02 02:47:05.615 MyApp[349:707] compressedData length = 32671
2012-01-02 02:47:06.143 MyApp[349:707] dataAfterCompression length = 251144
Run Code Online (Sandbox Code Playgroud)
为什么用如此大的图像创建具有低质量数据的新图像?
ruby ×3
activerecord ×2
belongs-to ×1
decimal ×1
django ×1
encoding ×1
formatting ×1
forms ×1
ios ×1
iteration ×1
jquery ×1
json ×1
mysql ×1
partials ×1
python ×1
sphinx ×1
unit-testing ×1