【发布时间】:2016-02-27 01:31:40
【问题描述】:
我对 Rails 很陌生,正在尝试自己为 ToDo 列表创建一个应用程序。
如何在下面的表格中传递参数“类别名称”和“任务描述”。
users/show/html.erb
<aside class="col-md-8">
<section>
<%= render 'tasks/new' %><br>
</section>
<section>
<% if @user.tasks.any? %>
<ol class="tasks">
<%= render @tasks %>
</ol>
<% end %>
</section>
</aside>
tasks/new.html.erb
<div class="form-inline">
<%= form_for([@user, @user.tasks.build]) do |f| %>
<select id="selectUser" class="form-control selectWidth">
<option class="">Select Category</option>
<% @user.categories.all.each do |category| %>
<option class="">
<%= category.name %>
</option>
<% end %>
</select>
<%= f.label :description %>
<%= f.text_area :description, class: 'form-control' %>
<%= f.submit %>
<% end %>
</div>
控制器/tasks_controller
class TasksController < ApplicationController
def create
@user = User.find(params[:id])
@category = Category.find_by(name: params[:category])
@task = @user.tasks.create(task_params)
redirect_to user_path(@user)
end
private
def task_params
params.require(:task).permit(@category.name, :description)
end
end
任务表中的列是
- 身份证
- 说明
- user_id(参考 users 表)
- category_id(参考类别表)
类别表中的列是:
- 身份证
- 姓名
- user_id(对用户表的引用)
我试图从新任务表单中传递的参数是来自category 表的name 和来自tasks 表的description
【问题讨论】:
标签: ruby-on-rails