• 這個寫法是錯誤的,主要想要達成的目的是在輸入學生選課資料前先檢查有無該筆學生記錄。如果有則儲存,如果沒有則噴出 "該筆學生 id 紀錄不存在。

    至於 @adults_session_descriptions = AdultsSessionDescription.all 這個是學生選課記錄的課程說明而已。

  • #1 楼 @shatle 感謝提醒

  • sudo apt-get update sudo apt-get upgrade sudo apt-get install curl git-core mysql-server libmysqlclient-dev nodejs curl -L get.rvm.io | bash -s stable source ~/.profile source ~/.rvm/scripts/rvm rvm autolibs enable rvm requirements rvm install 1.9.3 rvm use 1.9.3 --default gem install rdoc gem install rails

    編輯 ~/.bashrc 檔案。再把底下橘字的那一行,貼到 ~/.bashrc 的最後一行

    sudo gedit ~/.bashrc

    and add the following line to the end (and save the file) [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session as a function Then reload the shell session using the command -

    source ~/.bashrc

    Now you can test whether the RVM has been installed successfully or not. Open terminal and execute the command -

    type rvm | head -1

  • 感謝您再次的幫忙,一時不察就沒注意 api 的說明,一直把第二個參數當做要我要下拉顯示的欄位訊息. 改成這樣就成了。

    <div class="field1">
       <%= f.label :adults_license, "5.請輸入認證班課程類別" %><br />
       <%= f.select(:adults_license, options_from_collection_for_select(@adults_licenses, 'id', 'reason_desc', @adults_licenses.last.id),{:prompt => '請選擇課程類別'}) %>  
     </div>
    

    不過這倒出現了另一個麻煩,因為我並未建立與主表的關聯。這樣的寫法會導致被存入在 :adults_license 這個字段的資料..原本是初級初試 變成 1 => 相對於初級初試課程。

    若改成如下

    <div class="field1">
       <%= f.label :adults_license, "5.請輸入認證班課程類別" %><br />
       <%= f.select(:adults_license, options_from_collection_for_select(@adults_licenses, 'reason_desc', 'reason_desc', @adults_licenses.last.id),{:prompt => '請選擇課程類別'}) %>  
     </div>
    

    則存入到:adults_license 這個字段的資料會是 GEPT, 但這會導致另一個問題. 那就是要指向到最後一個 id 的設置無法運作..只會出現 "請選擇課程類別" 了..而不會是預設的 none

    這樣的問題不知有何解法?

  • 另外我在 student controll 裏寫了

    class StudentsController < ApplicationController
      # GET /students
      # GET /students.xml
      def index
        @students = Student.all
        @grades = Grade.all
        @below = Student.grades.below_average
    
        respond_to do |format|
          format.html # index.html.erb
          format.xml  { render :xml => @students }
        end
      end
    

    在 view 裏這寫了

    <% @below.each do |below| %>
      <tr>
        <td><%= below.name %></td>
        <td><%= below.graduating_year %></td>
        <td><%= link_to 'Show', student %></td>
        <td><%= link_to 'Edit', edit_student_path(student) %></td>
        <td><%= link_to 'Destroy', student, :confirm => 'Are you sure?', :method => :delete %></td>
      </tr>
    <% end %>
    </table>
    <br />
    

    然後出現的底下的錯誤訊息。

     NoMethodError in StudentsController#index
    
    undefined method `grades' for #<Class:0x007fdbc45a3208>
    
    Rails.root: /home/kojendirect/sample_projects/assoc_proxies
    Application Trace | Framework Trace | Full Trace
    
    app/controllers/students_controller.rb:7:in `index'
    
  • hi Rei 感謝您的回覆:

    是這樣滴會改用 Behavior 是因為要彈性,有時會做出不同考題難度,要列出學生的平均來評估難度..萬一全班都考不到最及格分 60 分的話,我會再依老師的建議調整設定學生在這課裏都及格分數的字段。

    所以寫成 Behavior 可能會較方便做這樣的處理。

    另外跟您請教一下: scope :below_average, lambda.new {|score| where('score < ?', score)} 這個 lambda.new 的用途是?

    #剛才我試了一下: 這樣在 rails c 中調不出東西哩? 奇怪
    ruby-1.9.2-p290 :014 > Student.grades.below_average
    NoMethodError: undefined method `grades' for #<Class:0x00000003ddd3a0>
    
  • 子女在上海的教育问题 at 2012年05月28日

    去啥勞子北京,上海的。送去香港不更好嗎?

  • 嗯 聽起來不錯哦。加油哩

  • 喲?douya0808 您好,這問題必需有系統的被和蟹.. 不對.. 是被解決。 你有沒有 gmail 啊?寄給我 [email protected] 我挖一個坑給你跌下去,等你從坑中跳出來 就不會再被第一個問題困擾,第二個問題我沒有實作過也無法幫你

  • 我用不了 QQ, 你若能跑出來 就裝 gtalk 吧。有時幫不上忙。出出餿主義或幫倒忙總是行的

  • 後來我查到一些錯誤,重新編修了 show_money 方法 詳見附圖 http://i1210.photobucket.com/albums/cc408/idarfan/Ruby%20on%20Rails/2012-04-24170724.png

    #加入學歷的選項
      def money
        @level = Incomelevel.all.map{|im|[im.reason_desc , im.id]}
        @grat = Graduated.all.map{|gr|[gr.reason_desc , gr.id]}
        render :layout =>"test_layout"
      end
    
      def show_money
        @graduateds = Graduated.all
        start_at = Time.parse(params[:start_at])
        end_at = Time.parse(params[:end_at])
        level = params[:level].to_i
        grat = params[:grat].to_i
        @students = Student.all(:from => "student_incomelevelships AS si, AND student_graduatedships AS sg" ,
          :conditions => ["si.incomelevel_id = ? AND sg.graduated_id = ?", level , grat] ,
          :joins => "INNER JOIN
            students ON (students.id = si.student_id AND students.id = sg.student_id AND
            students.created_at BETWEEN 
            DATE('#{start_at.strftime("%Y/%m/%d")}') AND
            DATE('#{end_at.strftime("%Y/%m/%d")}'))")
      end
    
    

    怪怪我 rails c 裏查,我這個是可以用的啊 StudentGraduatedship.find(1) => #

  • douya0808 您好:我跟你說哦,我不知你用 ext js 想做點啥?但是 ext js 4 都讓我很生氣。我測試時是 4.0.7 我估計它要到 4.1.0 才會修好統計圖表的問題,既然學習新東西陣痛難免。就一次給它痛個夠你就直接用 ext js 4.07 了吧。我看了你最後寫的。。我知道你是想做統計圖表吧

    給您一個建議那就是橋歸橋路規路別和在一起。你會累死的

    我給你看我的範例怎麼做,可能我們這兒技術人口較少也少有用這東西的人們,迄今還沒人能回答我這問題。我不知會不會被和蟹掉..請 X 牆.. 我相信您懂的

    http://ask.inside.com.tw/questions/340-ext-js4-chart-%E6%90%AD%E9%85%8Druby-on-rails-3%E7%9A%84%E5%95%8F%E9%A1%8C%EF%BC%8C%E5%9C%96%E8%A1%A8%E8%A2%AB%E7%B9%AA%E8%A3%BD%E5%88%B0%E5%8F%8D%E6%96%B9%E5%90%91%E5%8E%BB

    這是簽名檔 =》人道待人,要人們怎麼待您,您先怎麼待人:)

  • 這東西嘛大概就寫在 applaction.html.erb 先做好宣告

    <!DOCTYPE HTML>
    <head>
    <meta charset="utf-8">
    <title>Employee</title>
      <%= stylesheet_link_tag :all %>
      <%= javascript_include_tag :defaults %>
      <%= csrf_meta_tag %>
      <%= javascript_include_tag ["jquery", "jquery-ui", "jquery.tooltip", "application", "jquery.jgrowl", "jquery.scrollTo", "jScrollPane", "jquery.mousewheel" ] %>
      <%= stylesheet_link_tag ["jquery-ui", "jquery.jgrowl", "jScrollPane" ]%>
      <%= javascript_include_tag js_load %>
      <%= stylesheet_link_tag css_load %>
      <%= yield :header %>
    <style type="text/css">
    
    

    至於你問到圖片放那兒其實 jquery-ui 裏有說到,你看上面我寫的範例就知囉不用理其它。 至於你另一個問題我沒有看明白。你想用 ext js4 是嗎?

  • douya0808 您好啊.. 這東西有點煩我找找資料給你

  • kehao 您好:關於您上述的解說我還是難以理解,請問您這些資訊是去那看到的可否告之 我再去研讀一下,感謝

  • kehao 您好: 會想要加入搜尋學生欄位,是因為作業人員懶得再去點 search from。想說全文檢索都那麼便利了 我單位的學生數也不到 2 千人,就問了我把它塞進去成不成?反正筆數沒那麼多純然就是圖個方便就是了

  • 感謝 bwlinux 關於 script 部份我明白了

  • 哈。看錯了 ..原來不是問我 抱歉

  • 這頭像是佛教的護法明王,不動明王 右手持劍,劍名日智慧斬斷迷惘 左手持索綑縛心魔 五大明王之首,類似警察的地位

  • kehao 您好: 是的,欄位在內地稱之為字段。上面這兩段程式是寫在 Student 資料模型裏?全然不明白其作用 能請您解釋一下嗎?我的設置如下:

    searchable do
        text :cname, :ename, :email, :student_id,:telephone, :mobile_phone, :parents_phone, :company_phone, :jobs, :session_description
      end
    
    

    就是那個學生 id 是 int 字段長度 11.

    另外您說把這 rake sunspot:solr:start 扔進 /etc/init.d 這部份好像要寫 shell script 吧?這我就不會了 orz

  • x-chat 在 ubuntu 上應是不能用的,有那位大俠可以介紹一下可以在 ubuntu 11.10 上用的又支援中文的 IRC Clinet 感恩

  • 沒人掛在上邊吧。我一會也來亂入一下

  • azhao 您好:原來看起來好像 textMate 它能在 ubuntu 11.10 上跑嗎?可是它的風格看起來很灰暗,沒有亮點的模版

  • huacnlee 哥:好的好的,代码你就别截图了嘛,你那 Netbeans 好鹾啊!<= 中文太差不識得這字? 是指差嗎?還是醜?沒法子我不是用 mac 要怎麼讓它美觀一點。你分享一下好唄

  • yakjuly 您好: 我改成如下所述,但會報錯.. 能否請您看看這是什馬問題?

    def money
       @level = Incomelevel.all.map{|im|[im.reason_desc , im.id]}
       render :layout =>"test_layout"
     end
     def show_money
       start_at = Time.parse(params[:start_at])
       end_at = Time.parse(params[:end_at])
       level = params[:level].to_i    
       #@students = Student.all(:from => "student_incomelevelships AS si" , 
       #  :conditions => ["si.incomelevel_id = ?" , level] ,
       #  :joins => "INNER JOIN
       #    students ON students.id = si.student_id AND
       #    students.created_at BETWEEN DATE('#{start_at.strftime("%Y/%m/%d")}')
       #    AND DATE('#{end_at.strftime("%Y/%m/%d")}')")    
       @Student.includes(:whylearns, :student_incomelevelships).where
       ("whylearns.reason_desc = ?",  "工作需要")
       .where("student_incomelevelships.incomelevel_id = ?",
         params[:level]).where("students.created_at between ? and ?",
         params[:start_at], params[:end_at])
     end
    
    

  • 感謝您的協助,我立馬去測試看看

  • vkill 您好。Squeel 有加強並簡化 joins 的應用 詳情請參閱 http://rubydoc.info/gems/squeel/file/README.md 部份原文提供如下:

    Joins

    Squeel adds a couple of enhancements to joins. First, keypaths can be used as shorthand for nested association joins. Second, you can specify join types (inner and outer), and a class in the case of a polymorphic belongs_to relationship.

    Person.joins{articles.outer} => SELECT "people".* FROM "people" LEFT OUTER JOIN "articles" ON "articles"."person_id" = "people"."id" Note.joins{notable(Person).outer} => SELECT "notes".* FROM "notes" LEFT OUTER JOIN "people" ON "people"."id" = "notes"."notable_id" AND "notes"."notable_type" = 'Person'

    These can also be used inside keypaths:

    Note.joins{notable(Person).articles} => SELECT "notes".* FROM "notes" INNER JOIN "people" ON "people"."id" = "notes"."notable_id" AND "notes"."notable_type" = 'Person' INNER JOIN "articles" ON "articles"."person_id" = "people"."id"

    You can refer to these associations when constructing other parts of your query, and they'll be automatically mapped to the proper table or table alias This is most noticeable when using self-referential associations:

    Person.joins{children.parent.children}. where{ (children.name.like 'Ernie%') | (children.parent.name.like 'Ernie%') | (children.parent.children.name.like 'Ernie%') } => SELECT "people".* FROM "people" INNER JOIN "people" "children_people" ON "children_people"."parent_id" = "people"."id" INNER JOIN "people" "parents_people" ON "parents_people"."id" = "children_people"."parent_id" INNER JOIN "people" "children_people_2" ON "children_people_2"."parent_id" = "parents_people"."id" WHERE ((("children_people"."name" LIKE 'Ernie%' OR "parents_people"."name" LIKE 'Ernie%') OR "children_people_2"."name" LIKE 'Ernie%'))

    Keypaths were used here for clarity, but nested hashes would work just as well.

  • Student.select('id, student_id, cname, email').where{(cname =~ '陳%') & (gender == 'M')} 嗯。剛才以為還有什麼特別要注意的怎麼我串起來不能用....結果是我的 rails console 當掉(很奇怪好像常常這樣),我關掉重開之後再試... 就可以了 再次感謝您的協助

  • 嗯?兩個句子能併在一起用嗎?像是子查詢那樣 例如我只要姓陳的所有男學生的姓名及電子郵件

  • 感謝您的關注與指教,居然起死回生了 Orz 噴了滿畫面的資料..可否再請教如何把噴出來的資料提取只要人名跟電子郵件的部份?