create 方法设计成这样,不知道好不好?
def create
@product = @user.products.build(params[:product])
begin
@product.save
redirect_to @product, notice: 'Product was successfully created.'
rescue
render action: "new", notice: 'Product was failure created.'
end
end
@jjym 很想了解,这个大哥说的好方法是指怎么设计呢?
Started POST "/products" for 127.0.0.1 at 2012-11-03 22:53:04 +0800
Processing by ProductsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"s0THldTdG2+EO+2fiU3yHH49A6LaYiktf9iBTxJVXRg=", "product"=>{"title"=>"Text", "description"=>"text"}, "commit"=>"Create Product"}
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
(0.1ms) begin transaction
SQL (9.8ms) INSERT INTO "products" ("created_at", "description", "title", "updated_at", "user_id") VALUES (?, ?, ?, ?, ?) [["created_at", Sat, 03 Nov 2012 14:53:04 UTC +00:00], ["description", "text"], ["title", "Text"], ["updated_at", Sat, 03 Nov 2012 14:53:04 UTC +00:00], ["user_id", 1]]
(0.2ms) rollback transaction
Completed 500 Internal Server Error in 21ms
RuntimeError ():
app/models/product.rb:8:in `judge_create'
app/controllers/products_controller.rb:54:in `block in create'
app/controllers/products_controller.rb:53:in `create'
确实是会 rollback,我想请问一下,怎么捕获这个异常呢?刚刚试一下:
after_create :judge_create
def judge_create
begin
raise
rescue
puts "Hello!"
end
end
如果这样捕获,就会让他顺利存下来了,可是异常是他这里出现的。 怎么样才可以使它
if @product.save
format.html { redirect_to @product, notice: 'Product was successfully created.' }
format.json { render json: @product, status: :created, location: @product }
else
format.html { render action: "new" }
format.json { render json: @product.errors, status: :unprocessable_entity }
end
运行 else 那段,而不是页面出现异常呢?
正好用的上,部署成功。。
什么时候发布 2.0?
诡异,这样也可以不哦。。。
deploy@linode:~$ gem install passenger
Successfully installed passenger-3.0.17
1 gem installed
Installing ri documentation for passenger-3.0.17...
Installing RDoc documentation for passenger-3.0.17...
deploy@linode:~$ sudo passenger-install-nginx-module
sudo: passenger-install-nginx-module: command not found
#1 楼 @oran 恩。官网上是这样说的,可是这个站点的 wiki 上是写用rvmsudo passenger-install-nginx-module
,我以前也是用这条命令装的。
http://ruby-china.org/wiki/rvm-guide
不知道两者有什么区别?
#2 楼 @ruby_sky #3 楼 @chechaoyang 谢谢,这两个方法很不错~
#3 楼 @hooopo 谢谢,你说的这个方法是可行的。 #4 楼 @ashchan 恩。对。 #5 楼 @cxh116 第一次见过这个判断方法,奇怪的是怎么进行判断的,title 来判断的吗?还是文件名? #6 楼 @wity_lv 我想问一下 (function() {})() 在这个里面的函数,需要通过什么来调用?如:
(function() {
var total_amount;
total_amount = function() {
var total;
total = 0;
alert(total)
};
}).call(this);
total_amount() //似乎无法调用
#1 楼 @hooopo 意思就是, 我在.js 文件中写类或者函数
function xx(){
}
而只在 html 下的里调用 function,如 slim: <div class="highlight"><pre class="highlight plaintext"><code>javascript: jQuery(function() { xx(); } </code></pre></div> <p>这样,会出现 xx() 方法找不到。 但是如果把 javascript:下的内容放到.js 文件里,就会在所有页面执行一次 xx(),这样觉得不太好,如果内容太多,太消耗内存了。</p>
恩。确实都是怕被复制,觉得除了淘宝,别的都很轻易被复制和超越。 确实国内用户已经习惯那种大混乱的页面了。
同感,像微薄越来越杂了,没有推特简洁。 百度上面更加混乱一片,很快百度首页就变成 hao123 了。
听各位这样说,我决定支持正版。自己买一个!^_^
#1 楼 @chunlea https://github.com/voraz/spreadsheet 是这个吗?
我有点好奇的是,自己 liunx 服务器上需要不需要装 office?还有,win 下的 office 文件会不会传到 linux 出现差异的。
请问有朋友知道这个学问吗?