首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用角色(指导员)预订用户id,同时以用户身份(管理员或学生)登录。

使用角色(指导员)预订用户id,同时以用户身份(管理员或学生)登录。
EN

Stack Overflow用户
提问于 2018-04-20 15:42:43
回答 1查看 31关注 0票数 0

当我作为一个学生(用户)登录时,我正在尝试预订一个指导员。登录模型是具有可选的教师管理角色的用户。

我一直在犯这个错误

未定义的方法“is”用于# 错误信息按钮给出了错误。

如何在以用户(如学生)身份登录时,声明教员user_id已被预订

instructors_controller.rb

代码语言:javascript
复制
# GET /instructors
# GET /instructors.json
def index
  #@instructors = Instructor.all
   @instructor_users = User.where(role: 'instructor')
end

Instructor/index

代码语言:javascript
复制
<h1>List Instructors</h1>

<table>
<tr>
  <th>ID</th>
  <th>Name</th>
  <th>Role</th>
</tr>

<% @instructor_users.each do |user| %>

  <tr>
  <td><%= user.id %></td>
  <td><%= user.name %></td>
  <td><%= user.role %></td>
  <td>
  <%= button_to 'Book a Lesson', {controller: 'lessons', action: 'new', id: @user.id } , {class: "button-to"} %>
    </td>
  </tr>
<% end %>
</table>


<br>

lessons_controller.rb

代码语言:javascript
复制
def new
    if logged_in?
    #@lesson = Lesson.new
    @lesson = Lesson.new(user_id: params[:id], name: User.find(session[:user_id]).name  

    session[:return_to] = nil       
else            
    session[:return_to] = request.url           
    redirect_to login_path, alert: " 'You need to login to book a lesson' " 
end
end



# POST /lessons
# POST /lessons.json
def create
@lesson = Lesson.new(lesson_params)
  if @lesson.save
      instructor = User.find(@instructor.user.id)
      redirect_to lesson, notice: 'Lesson was successfully created.'
  else
    render :new
  end
 end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-20 16:24:24

变化

@instructor_user.id

user.id

因为@instructor_users.each do |user| to user

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49945334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档