2011-04-30 24 views
1

有沒有寫在鐵軌下面的一個更好的/ cleanier方式:的Rails:按鈕

@next_user = @users[@users.index(@user) + 1] 
if (@next_user) 
    button_to "Next User", click_url(:id => @next_user.id); 
else 
    button_to "Next User", {}, :disabled => true; 
end 

我已經試過

@next_user = @users[@users.index(@user) + 1] 
button_to "Next User", click_url(:id => @next_user.id), :disabled => [email protected]_user; 

但到達的最後一個元素時,應用程序將引發異常陣列。

我只想知道是否有更好的方法來實現相同的行爲。

回答

2

不確定它更簡單,但這應該處理例外。

@next_user = @users[@users.index(@user) + 1] 
button_to "Next User", @next_user.nil? ? {} : click_url(:id => @next_user.id), :disabled => [email protected]_user; 
+0

如果您刪除.nil?並扭轉三元運算符的操作數,它看起來更簡單,謝謝。 – 2011-04-30 16:56:43