0

我的表单有两个单选按钮,公共和私人:

 <div class='review-form'>
      <%= simple_form_for(@review) do |f| %>
  # input boxes for current_user to put text here

  #'public' radio button, checked by default, class is for css
  <%= f.radio_button :visible, "true" , :class => "share_button" %>

  #'private' radio button, class is for css
  <%= f.radio_button :visible, "false", :class => "keep_private_button" %>

  #user can cancel
  <%= link_to I18n.t('write_review.cancel_button'), landing_page, 
  :class => 'btn' %>

  #user can submit
  <%= f.button :submit, I18n.t('write_review.submit_button'), 
  :class => 'btn btn-primary' %>

如何确定每条评论中的单选按钮是真还是假,以便在评论保存到我的应用程序后使用它?

例如,类似:

   <% if @review.radio_button.value = true %>
    <%= label_tag("This review is public") %>
     <% end %>

     <% if @review.radio_button.value = false %>
     <%= label_tag("This review is private") %>
     <% end %>
4

1 回答 1

1

“别处”在哪里?这是在用户保存之后吗?如果是这样,那么您应该只能说:

if @review.visible?

或者

if review.visible?

取决于变量的范围。

如果“其他地方”是指在同一页面上,那么您将需要一些聪明的 javascript。您可以在这里使用 jQuery 之类的东西来提供帮助,但本质上,您只需要那些单选按钮上的侦听器,单击时会触发一个评估单选按钮的 javascript 函数,然后更新页面上 div 的文本适当地。这是一个非常常见的模式,我将作为练习留给警觉的读者,因为我再次不确定你所说的“其他地方”是什么意思——不过,从你的问题来看,我猜是前者(用户保存后)。

希望有帮助!

于 2013-06-25T16:26:55.727 回答