首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使控制器、路由和隐藏字段按钮在Rails中正确工作

使控制器、路由和隐藏字段按钮在Rails中正确工作
EN

Stack Overflow用户
提问于 2012-07-24 17:36:06
回答 1查看 72关注 0票数 0

我想创建一个按钮,以便用户可以注册一个课程。注册模式belongs_to用户和课程,并应跟踪注册。

我在课程页面上以按钮形式显示了以下代码(看起来很好):

代码语言:javascript
运行
复制
<% @enroll = current_user.enrollings.build(course_id: @course.id) %>
<%= form_for(@enroll) do |f| %>  
    <div><%= f.hidden_field :course_id %></div>
    <%= f.submit "Enroll", class: "btn btn-large btn-primary" %>
<% end %>

我为注册者提供了一个资源路由,当用户单击该按钮时,页面将转到/enrollings。

这是注册控制器中的代码:

代码语言:javascript
运行
复制
def create    
@course = Course.find(params[:course_id])
current_user.enroll!(@course)
end

单击该按钮时,会收到以下错误消息:

ActiveRecord::EnrollingsController#create中的RecordNotFound 没有身份证就找不到课程

为什么它不用表单传递course_id呢?如何正确设置控制器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-24 17:46:02

试一试:

代码语言:javascript
运行
复制
<div><%= hidden_field_tag "course_id", @course.id %></div>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11636276

复制
相关文章

相似问题

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