• #16 楼 @everett 恩,我看一下这个 gem,自己也写一个这样的类,谢谢!!! 另外,针对 15 楼出现的 params[user_course.id],这个并不能将值取出,相反的 user_course.id 是一个整数,需要将其转化为字符串,应该这样写 params[user_course.id.to_s],不能加双引号。 问题已经解决,再次谢谢大家的帮助,thank you very much !!!

  • #13 楼 @greenmoon55 我试了一下,用 update_all 不能将 id 去出来,只能一个一个的来取 id,如下面所示:

    UserCourse.all.each do |user_course|
      if !user_course.grade
        user_course.update_attribute(:grade, params[user_course.id])
      end
    end
    

    但是这样有一个问题,params[user_course.id] 不能够取出值并赋给 grade,不知道是怎么回事?

  • #11 楼 @everett 你的意思是不是用一个 button 按钮代替 submit,然后对该 button 写 javascript 函数,相当于吧 controller 中的函数放入 js 中来实现?

  • #5 楼 @karmue 我按照你的思路做了 这是 create 的函数

    def create
      data = Array.new
      params.keys().each do |key|
        if key.is_a?(Integer)
        else
          data[] = key
        end
        end
      user_courses = UserCourse.find(data)
      user_courses.each do |user_course|
        user_course.grade = params[user_course.id]
        user_course.save
      end
      redirect_to :action => "index", :controller => "select"
    end
    

    而 html 页面中,提取代码为 textarea id="comment" name="<%= user_course.id %>" value=<%= user_course.grade %>>"✓", "authenticity_token"=>"/9RSuxSpGdWxu2/PnCsxoK8CxtzUaXQWnIA/D5CsDbY=", "1"=>"85", "11"=>"58", "commit"=>"submit"}

  • #8 楼 @sylan401 textarea id="comment" name="user_course.id" value=<%= user_course.grade %>></textarea

  • #7 楼 @sylan401 不知道为什么这条没有了 >

  • #6 楼 @karmue mue 我是这样写的 <% @user_courses.each do |user_course| %>

    <%= user_course.course_name %> <%= user_course.user_name %> <% if user_course.grade %> <%= user_course.grade %> <% else %> > <% end %> <% end %> 浏览器把 user_course.id 当成了一个字符串变量,能不能把这句代码写完整啊,我还是不太明白。怎样取出的数字赋值给 key。我是用的 params[] hash,错误提示 Couldn't find all UserCourses with IDs (utf8, authenticity_token, user_course.id, commit, controller, action) (found 0 results, but was looking for 6)。 另外,还有个问题,我的复制上贴吧的代码为什么这么不好看,有什么地方可以设置吗?
  • #3 楼 @karmue 我在页面里面使用了<%= text_area_tag 'hash[user_course.id]' %>,但是这样的话,hash 好像没有定义,到控制器里面也找不到,我试着在控制器里面定义 hash= Hash.new,好像也不对,因该是因为变量有限制范围吧。

  • #1 楼 @karmue 这个方法我知道,我说的是取出多个 text 中的数据,依次更新每条记录的属性,而保证不会出错。

  • 估计楼主是要模型 A 实现增查改删功能,而 B 控制器用于改变 A 中的某些属性,如果要简单的话,模型 A 直接用 scoffold,控制器 B 改一改就好了