【发布时间】:2017-01-29 17:10:34
【问题描述】:
我正在尝试制作一个表单,用户可以像这样使用他们的用户名正常地发布帖子 -> 正常
=form_for @confession , html: {multipart: true} do |f|
=f.label :Confess
=f.text_area :confession , require: true
=f.file_field :confessionimage
=f.select (:id,options_for_select(ID))
=f.submit 'Confess'
或匿名,他们的名字将被隐藏,没有人会知道谁发布了这篇文章..为此,我认为我将在数据库中创建一个名为匿名的用户,如果用户在发布时在 select_form 中选择匿名,他们将以匿名用户身份发帖。
为此,在我的控制器中,我想要这样的东西,我无法理解的要点是控制器如何知道用户选择了什么?
这是我的控制器
def index
@amitian = Amitian.where(institute: current_amitian.institute) if amitian_signed_in?
@confessions = Confession.where(amitian_id: @amitian.ids).order('created_at DESC') if amitian_signed_in?
@confession = current_amitian.confessions.build
@anonymous = Amitian.where(email: anonymous@anonymous.com)
# (if anonymous selected )
do @anonymous.confessions.build
end
【问题讨论】:
-
表单数据将在 params hash 中可用
-
你能用代码 sn-p 解释一下吗
-
我希望你的实际缩进比这里的更有序,因为到处都是。干净的代码是可读的代码,可读的代码更容易发现bug。
-
显然这是我有正确缩进的代码......但这不是我所要求的,你能帮我解答一下吗
-
告诉我如何使用 params[:postid] 访问 f.select 元素 rest 我会弄清楚,在我的控制器中我如何知道用户是选择匿名还是他的名字
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 rubygems