在Rails中,可以通过使用表单的select字段来指定模型获取数据。具体步骤如下:
<%= form_for @post do |f| %>
<%= f.label :category_id %>
<%= f.select :category_id, options_for_select(Category.all.map{ |c| [c.name, c.id] }) %>
<%= f.submit %>
<% end %>
上述代码中,@post
是一个模型对象,category_id
是模型中的一个属性,Category.all
是获取所有分类的方法,options_for_select
是一个Rails辅助方法,用于生成select字段的选项。
def create
@post = Post.new(post_params)
@category = Category.find(params[:post][:category_id])
# 根据选择的模型获取数据
@data = @category.data
if @post.save
redirect_to @post
else
render 'new'
end
end
上述代码中,post_params
是一个私有方法,用于获取表单提交的参数。Category.find(params[:post][:category_id])
用于根据选择的模型获取对应的分类对象。根据需要,可以进一步处理获取到的数据。
这样,通过表单的select字段指定的模型,就可以在控制器中获取相应的数据了。
推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)和腾讯云数据库(https://cloud.tencent.com/product/cdb)。
请注意,以上答案仅供参考,具体实现方式可能因项目需求和版本差异而有所不同。
领取专属 10元无门槛券
手把手带您无忧上云