• 只能在 views 裡寫 js, 若不想這麼作,gon 很適合。

    gazay/gon http://j.mp/JeszBk

  • 系統帳號認證錯亂問題 at 2012年04月16日

    我是 @hSATAC 本人 我使用 github 登入 貌似是 http://ruby-china.org/topics/2624 這篇九樓 @huacnlee 幫我修改帳號時出錯了 我現在登右上角顯示的是 @cactis

  • Rails Association 疑问 at 2012年04月16日

    https://github.com/huacnlee/ruby-china/blob/master/Gemfile

    # 用户系统
    gem 'devise', '1.5.2'
    
    

    Ruby China 也是用 devise。

  • Rails Association 疑问 at 2012年04月16日

    #11 楼 @jhjguxin order.new 時,即使 @order 裡有 user_id 的值,但透過表單回傳時,若沒有加上該 user_id(一般皆設為隱藏),submit 的 params[:order] 裡仍然會沒有 user_id 字段。

    由於 order 這類操作一般皆為當下用戶操作,所以其實可以在 orders#create 直接賦值就好。也就是

    current_user.orders.crate(params[:order])
    # 這行指令就是以 "User Model 添加了 has_many :orders" 的設定為前提
    
    
    

    作的事。

    這種方式另有一個安全上的優點:(對比於用 form 裡的 = f.hidden_field :user_id) 我們是否允許用戶任意指定訂單為他人所建?若不允許的話,直接取得 current_user (就是當下登入的帳號) 並用它產生訂單,那 user_id 就一定會是 current_user.id,而不能是別的。

  • Rails Association 疑问 at 2012年04月16日

    關於 current_user 可參考 devise。

    上面數據庫的設計及 model 間的關聯設定是對的。只缺在存入資料時,要寫入是誰下的訂單。這是意義問題,不是結構問題。如上所說,要讓 user_id 有值,方法很多。但總要有地方去放入那個值。

    以上 5/6/7 樓是我寫的。(@hSATAC 不是我的帳號。我已去站上反饋提報這個問題。)