【问题标题】:How to access Form.select values in rails如何在 Rails 中访问 Form.select 值
【发布时间】:2017-01-29 19:34:03
【问题描述】:

我有这个表单,我希望用户选择他们想要发布的方式。用他们的名字或匿名。

所以这是我的表格:

- @anonymous.each do |a|
 =form_for @confession , html: {multipart: true} do |f|
    =f.label :Confess
    =f.text_area :confession , require: true
    =f.label :post_as   
     =f.select(:postid,options_for_select([[@confession.amitian.fullname,@confession.amitian.fullname],[a.fullname,a.fullname]]))
    =f.file_field :confessionimage
    =f.submit 'Confess'

现在我有一个用户可以选择他们的姓名或匿名发布 为此,我必须使用匿名或 current_user m 构建帖子,这对如何在控制器中执行此操作感到困惑,这就是我到目前为止所做的

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?
  @anonymous = Amitian.where(email: 'anonymous@anonymous.com')
  if #params[:postid] == 'Anonymous'  # i need an if statement to check what user has selected .. can anyone help plz ?
   @confession = @anonymous.confessions.build
  else
   @confession = current_amitian.confessions.build 
  end
end

提前感谢

【问题讨论】:

  • 你能告诉我们来自日志的参数吗?
  • [:postid] 返回的参数?
  • 整个参数,当你提交表单时它在你的日志中。

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2


【解决方案1】:

我不确定你的整个方法是否正确。我会在您的 Post (Confess?!) 模型中添加一个布尔字段。喜欢:

rails g migration AddAnoncheckToConfess anonym:boolean

将该复选框放在您的视图中,并将其添加到控制器中允许的参数中。

如果用户已将匿名设置为 true,您可以检查您的索引/显示视图:

<% if @confession.anonym == true %>
 Posted as anonymous
<% else %>
 <%= @confession.email %>
<% end %>

干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 2013-12-25
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    相关资源
    最近更新 更多