Rails 3 显示文本字段,除非它只有“@”
在我的 Rails 3 Web 应用程序中,我在其中一个表单中有一个 Twitter 文本字段,并在用户页面上显示它。
<%= f.label :twitter, "Twitter Username" %>
<%= f.text_field :twitter, :value => "@" %>
在用户页面上:
<% if @user.twitter? %>
<div class="twitter"><%= @user.twitter %></div>
<% end %>
问题是,当用户没有在字段中输入 Twitter 用户名时,它会将 @
保留在字段中并将其显示在用户页面上。因此,我想这样做,如果它只有 @
那么它就不会显示它。
In my Rails 3 web app, I have a Twitter text field in one of the forms and on the user page it displays it.
<%= f.label :twitter, "Twitter Username" %>
<%= f.text_field :twitter, :value => "@" %>
And on the user page:
<% if @user.twitter? %>
<div class="twitter"><%= @user.twitter %></div>
<% end %>
The problem is, when a user doesn't enter their Twitter username into the field, it keeps @
in the field and displays it on the user page. Because of this I would like to make it so if it just has @
then it doesn't display it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果用户未指定 Twitter 名称,
@
值似乎会持久保存到数据库中,对吧?你确定你想要那个吗?您可以在控制器中保存用户时执行以下操作:
这将确保仅在指定某些内容时才设置
User#twitter
字段。但要具体回答您的问题,您可以在视图中执行以下操作:
Looks like the
@
value gets persisted into the database if the user doesn't specify a twitter name, right? Are you sure you want that?You could, in the controller, when saving the user, do something like:
This will ensure that the
User#twitter
field only gets set if something is specified.But to answer your question specifically, you can do something like this in the view: